追記: 2021年6月8日
SWR公式日本語訳ページが追加されたので、そちらをご覧ください
このページは API Options – SWRの日本語訳です
SWR日本語訳全体についてはSWR 日本語訳をご覧ください
APIオプション
const { data, error, isValidating, mutate } = useSWR(key, fetcher, options)
パラメータ
-
key
: リクエストのためのユニークな文字列キー (または function / array / null) (高度な利用法) -
fetcher
: (オプショナル) データをフェッチするためのPromiseを返す関数 (詳細) -
options
: (オプショナル) SWR hook オプション のためのオブジェクト
戻り値
-
data
: 指定されたキーに基づき、fetcher
によって取得(解決)されたデータ (または 読み込まれていなければ undefined) -
error
:fetcher
によって生成されたエラー (または undefined) -
isValidating
: リクエストがある場合 または 再検証(revalidation)の読み込み -
mutate(data?, shouldRevalidate?)
: キャッシュされたデータを変更(mutate)する関数
Options
-
suspense = false
: React Suspenseモードの有効化 (詳細) -
fetcher = window.fetch(url).then(res => res.json())
: フェッチャー関数 -
initialData
: 初回に返されるデータ (注意: フックごと) (詳細) -
revalidateOnMount
: コンポーネントのマウント時に自動で再検証します (デフォルトでは、initialDataが設定されていない場合、マウント時に再検証が行われます。このフラグを使用して動作を強制します) -
revalidateOnFocus = true
: windowにフォーカス時、自動で再検証します (詳細) -
revalidateOnReconnect = true
: ブラウザのネットワーク接続が回復した時に自動で再検証します(navigator.onLine
経由) (詳細) -
refreshInterval = 0
: ポーリング間隔 (デフォルトでは無効) (詳細) -
refreshWhenHidden = false
: ウィンドウが非表示の場合のポーリング (refreshInterval
が有効の場合) -
refreshWhenOffline = false
: ブラウザがオフラインの時にポーリング (navigator.onLine
経由で決定) -
shouldRetryOnError = true
:fetcher
エラー時のリトライ -
dedupingInterval = 2000
: 指定期間中に同じキーの場合は重複リクエストを排除します -
focusThrottleInterval = 5000
: 指定期間中に一度だけ再検証します -
loadingTimeout = 3000
: onLoadingSlowイベントを発行するためのタイムアウト -
errorRetryInterval = 5000
: エラーリトライの間隔 -
errorRetryCount
: エラーリトライの最大試行回数 -
onLoadingSlow(key, config)
: リクエストの読み込みに時間がかかりすぎる場合のコールバック関数 (loadingTimeout
を参照) -
onSuccess(data, key, config)
: リクエストが正常に終了したときのコールバック関数 -
onError(err, key, config)
: リクエストがエラーを返したときのコールバック関数 -
onErrorRetry(err, key, config, revalidate, revalidateOps)
: エラー再試行のハンドラー -
compare(a, b)
: 誤った再レンダリングを回避するために、返されたデータがいつ変更されたかを検出するために使用される比較関数。 デフォルトでは、dequalが使用されます。 -
isPaused()
: 関数は再検証を一時停止するかどうかを検出し、true
を返した場合はフェッチされたデータやエラーを無視します。デフォルトではfalse
を返します。