Documentation

setDefaultConfig

stable

Set default configuration

Set global default configuration options for all queries. These defaults will be applied to all queries unless overridden by specific query options.

Core APIGlobal Config

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

DefaultConfigRequired

Configuration object with default options to apply to all queries.

Returns

Returns

void

No return value

Examples

Basic Usage

Set global default configuration

import { setDefaultConfig } from 'qortex-react';
// Set global defaults
setDefaultConfig({
staleTime: 5 * 60 * 1000, // 5 minutes
refetchOnSubscribe: 'stale'
});
// Now all queries will use these defaults
function 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 defaults
if (process.env.NODE_ENV === 'development') {
setDefaultConfig({
staleTime: 0, // Always fresh in development
refetchOnSubscribe: 'always'
});
} else {
setDefaultConfig({
staleTime: 10 * 60 * 1000, // 10 minutes in production
refetchOnSubscribe: 'stale'
});
}
// All queries will use environment-appropriate defaults

Override Defaults

Override defaults for specific queries

import { setDefaultConfig } from 'qortex-react';
// Set global defaults
setDefaultConfig({
staleTime: 5 * 60 * 1000, // 5 minutes
refetchOnSubscribe: 'stale'
});
function RealTimeData() {
// Override defaults for real-time data
const { data } = useQuery('real-time-data', {
fetcher: fetchRealTimeData,
staleTime: 0, // Always fresh
refetchOnSubscribe: '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