useSWRのoptions
前回メモったときから少し更新されてるっぽいので注意mrsekut.icon*2
suspense
initialData
初期値
SSRするときはこれがないとバグるらしい
refreshInterval
pollingの期間
例えば、refrefhInterval: 1000にすると1s置きにreqを投げる
refreshWhenHidden = false: polling when the window is invisible (if refreshInterval is enabled)
dedupingInterval = 2000: dedupe requests with the same key in this time span
focusThrottleInterval
1度だけRevalidateする期間
なぜ1度だけ?
refreshWhenOffline
ブラウザがオフラインのときにpollingする
loadingTimeout
タイムアウトする時間
エラー時の処理
shouldRetryOnError
エラー時にリトライするか
errorRetryInterval
リトライするinterval
errorRetryCount
リトライするmaxの回数
5を指定すれば、5回失敗したら、それ以降は最fetchを試みない
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 successfully
onError(err, key, config)
callback function when a request returns an error
onErrorRetry(err, key, config, revalidate, revalidateOps)
error時に再実行する処理を上書きする
compare(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.