Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【2023】SWR vs TanStack Query

ytaisei
September 25, 2023

【2023】SWR vs TanStack Query

We Are JavaScripters! @42ndにて登壇した際の資料。
2023年度におけるSWRとTanStack Queryの比較を行いました。

ytaisei

September 25, 2023
Tweet

More Decks by ytaisei

Other Decks in Technology

Transcript

  1. SWR

  2. staleTimeが関係している 前提:staleTimeをInfinityに設定した場合 1. useQueryでデータを取得 → キャッシュに保存 2. 再度useQueryが呼ばれるが、キャッシュが存在するのでデータを返却 3. キャッシュがfreshなのでqueryFnが呼ばれない

    4. 結果的にonSuccess系オプションが発火しない キャッシュがfreshの時と、そうでない時で 結果に差分が生まれてしまう。 例)onSuccessで setStateやデータ変換をしていた場合は ...
  3. TanStack Queryのキャッシュ管理 • staleTime ◦ キャッシュをstale(古くなったとみなす) 状態にするまでの期間 ◦ デフォルト:0 •

    cacheTime ◦ キャッシュをガベージコレクション(メモリ領域の開放)するまでの 時間 ◦ デフォルト:5分
  4. TanStack Queryのキャッシュ管理 • staleTime ◦ キャッシュをstale(古くなったとみなす) 状態にするまでの期間 ◦ デフォルト:0 •

    cacheTime ◦ キャッシュをガベージコレクション(メモリ領域の開放)するまでの 時間 ◦ デフォルト:5分 キャッシュの生存期間を厳密に指定できる (SWRには無い)
  5. SWR vs TanStack Query SWR • 必要最小限の状態を提供 • シンプルな設計 TanStack

    Query • 豊富な非同期の状態を処理ができる • キャッシュの管理も柔軟