GROWI 独自実装のユーティリティについて
参考ページ
useContextSWR
- 引数ありの場合、宣言時に初期化を行う
- 宣言順序=初期化順序となる挙動を保証するため、内部で cache.set を使っている
- Next Page からのみ利用される前提
- mutate メソッドは利用できないようになっている
useStaticSWR
- 引数ありの場合、宣言時に初期化を行う
- useEffect 内で mutate を使っている
- これは宣言順序と初期化順序が前後することを許容する代わりに、確実に mutate メソッドを効かせるため
- なぜ useContextSWR と同様の実装ではないのか?
- ➡️ 仮に宣言時に cache.set するコードを入れてしまうと mutate した際にバッティングし、意図通りに更新されないため