setDefaultConfig
stableSet default configuration
Set global default configuration options for all queries. These defaults will be applied to all queries unless overridden by specific query options.
Global Configuration
setDefaultConfig is perfect for setting application-wide defaults that work for most of your queries.
Setting Global Configuration
Call setDefaultConfig early in your application lifecycle, ideally before any queries are executed. This ensures all queries inherit your preferred defaults from the start.
Signature
function setDefaultConfig(config: DefaultConfig): void
Parameters
config
DefaultConfigRequiredConfiguration object with default options to apply to all queries.
Returns
Returns
voidNo return value
Examples
Basic Usage
Set global default configuration
import { setDefaultConfig } from 'qortex-react';// Set global defaultssetDefaultConfig({staleTime: 5 * 60 * 1000, // 5 minutesrefetchOnSubscribe: 'stale'});// Now all queries will use these defaultsfunction UserProfile() {const { data } = useQuery(['user', 'current'], {fetcher: fetchUser// Will use staleTime: 5 minutes, refetchOnSubscribe: 'stale'});return <div>{data?.name}</div>;}
Environment-specific Config
Set different defaults for different environments
import { setDefaultConfig } from 'qortex-react';// Set environment-specific defaultsif (process.env.NODE_ENV === 'development') {setDefaultConfig({staleTime: 0, // Always fresh in developmentrefetchOnSubscribe: 'always'});} else {setDefaultConfig({staleTime: 10 * 60 * 1000, // 10 minutes in productionrefetchOnSubscribe: 'stale'});}// All queries will use environment-appropriate defaults
Override Defaults
Override defaults for specific queries
import { setDefaultConfig } from 'qortex-react';// Set global defaultssetDefaultConfig({staleTime: 5 * 60 * 1000, // 5 minutesrefetchOnSubscribe: 'stale'});function RealTimeData() {// Override defaults for real-time dataconst { data } = useQuery('real-time-data', {fetcher: fetchRealTimeData,staleTime: 0, // Always freshrefetchOnSubscribe: 'always' // Always refetch});return <div>{data?.value}</div>;}function CachedData() {// Uses global defaults (5 minutes stale time)const { data } = useQuery('cached-data', {fetcher: fetchCachedData});return <div>{data?.value}</div>;}
Behavior
Global Application
Applies to all queries unless overridden
Partial Override
Only overrides specified options, keeps others as default
Query Override
Individual queries can override global defaults
Immediate Effect
Takes effect immediately for new queries
Best Practices
Do's
- ✓Set defaults early in your application lifecycle
- ✓Use environment-specific configurations
- ✓Override defaults for specific use cases
- ✓Document your default configuration choices
Don'ts
- ✗Don't set defaults in render functions
- ✗Don't change defaults frequently
- ✗Don't forget that individual queries can override defaults
- ✗Don't set defaults that conflict with your use cases