7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SWR Options

Last updated at Posted at 2021-10-15

これはなに?

SWRを使ってみて、optionsで色々と設定ができそうだなーと思ったのと、ドキュメントがあまりわかりやすくなかったので自分の言葉でまとめてみました

オプション一覧

revalidateIfStale

マウントした時に古いデータがあった際に自動で再検証するかどうかを制御している
デフォルト: true

何回取得しても値が変わらない場合はfalseにする(そしたらSWR使う必要あるのか?とも思った)

revalidateOnMount

コンポーネントのマウント時に自動で再検証するかどうか
デフォルト:false
enable or disable automatic revalidation when component is mounted

revalidateOnFocus

画面に戻った際に自動で再検証を行うかどうか
デフォルト: true

強整合性が求められるのであればtrueなのかな?

revalidateOnReconnect

ブラウザがオンラインになった際に自動で再検証するか
デフォルト: true

refreshInterval

ポーリング間隔の指定、単位はミリ秒
デフォルト: 無効

refreshWhenHidden

画面が表示されていない際にリフレッシュをするか
※但し、refreshIntervalが無効の場合は自動的に強制的にfalseになる
デフォルト: false

refreshWhenOffline

ブラウザがオフラインの際にリフレッシュをするか
※但し、refreshIntervalが無効の場合は自動的に強制的にfalseになる
デフォルト: false

shouldRetryOnError

エラー時のリトライの有無
デフォルト: true

dedupingInterval

重複したリクエストを削除する期間の指定
デフォルト: 2000

focusThrottleInterval

フォーカス時の再検証の期間指定
デフォルト: 5000

loadingTimeout

onLoadingSlowイベントを発行するためのタイムアウト
デフォルト: 3000

errorRetryInterval

エラーが起きた際のリトライの間隔、単位はミリ秒
デフォルト: 5000

errorRetryCount

エラー時のリトライの最大試行回数
デフォルト: なし

fallback

fallbackData

初期データの設定(hookによって異なる)

onLoadingSlow(key, config)

リクエストの読み込みに時間がかかりすぎる場合のコールバック関数

7
6
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
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?