examples/swr-site/content/en/docs/options.mdx
import { Callout } from 'nextra/components'
const { data, error, isValidating, mutate } = useSWR(key, fetcher, options)
key: a unique key string for the request (or a function / array / null)
(advanced usage)fetcher: (optional) a Promise returning function to fetch your data
(details)options: (optional) an object of options for this SWR hookdata: data for the given key resolved by fetcher (or undefined if not
loaded)error: error thrown by fetcher (or undefined)isValidating: if there's a request or revalidation loadingmutate(data?, shouldRevalidate?): function to mutate the cached data
(details)suspense = false: enable React Suspense mode (details)fetcher(args): the fetcher functionrevalidateIfStale = true: automatic revalidation on mount even if there is
stale data (details)revalidateOnMount: enable or disable automatic revalidation when component
is mountedrevalidateOnFocus = true: automatically revalidate when window gets focused
(details)revalidateOnReconnect = true: automatically revalidate when the browser
regains a network connection (via navigator.onLine)
(details)refreshInterval (details):
refreshInterval = 0refreshWhenHidden = false: polling when the window is invisible (if
refreshInterval is enabled)refreshWhenOffline = false: polling when the browser is offline (determined
by navigator.onLine)shouldRetryOnError = true: retry when fetcher has an errordedupingInterval = 2000: dedupe requests with the same key in this time span
in millisecondsfocusThrottleInterval = 5000: only revalidate once during a time span in
millisecondsloadingTimeout = 3000: timeout to trigger the onLoadingSlow event in
millisecondserrorRetryInterval = 5000: error retry interval in millisecondserrorRetryCount: max error retry countfallback: a key-value object of multiple fallback data
(example)fallbackData: initial data to be returned (note: This is per-hook)onLoadingSlow(key, config): callback function when a request takes too long
to load (see loadingTimeout)onSuccess(data, key, config): callback function when a request finishes
successfullyonError(err, key, config): callback function when a request returns an erroronErrorRetry(err, key, config, revalidate, revalidateOps): handler for error
retrycompare(a, b): comparison function used to detect when returned data has
changed, to avoid spurious rerenders. By default,
dequal is used.isPaused(): function to detect whether pause revalidations, will ignore
fetched data and errors when it returns true. Returns false by default.use: array of middleware functions (details)You can also use global configuration to provide default options.