LoginSignup
1
1

More than 1 year has passed since last update.

[日本語訳]SWR ドキュメンテーション オプション

Last updated at Posted at 2021-01-04

追記: 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 を返します。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1