Open7
jotai学習メモ
react queryを導入してなくてjotaiでアプリをほぼ作っているのであればreact query v4と統合してるjotaiのpkgを使うのはありらしい。
逆に言えばreact queryを使うのが常套手段
参考:
jotai DevToolsとても便利
参考:
jotaiのSSRもreact queryのinitialDataのSSRがあるのでreact queryを使ってる場合は不要な認識
参照:
初めて来た人に利用規約表示、dark mode管理などに使えそう
参照:
jotai(atomWithObservable) vs react query(refetchInterval)
atomWithObservableはデータベースの変更をトリガーに状態変更可能だが、常に監視してるためコスト面が気になる。その点やはりreact queryのrefetchIntervalでポーリングする方がコスト面で優位。
リアルタイム性をより重視する場合atomWithObservableでもいいかもしれないが、react queryのrefetchIntervalでほぼリアルタイムで秒数設定したらいいので、react queryの方がいいなとなってる。
参考:
atomWithReset
atomの状態を初期状態にリセットできる
使える用途: フォーム入力値リセット、ゲーム終了時のスコアリセットなど
参考:
atomWithDefault
動的に他のatomを読み込んでatomを変更する時に使えるみたい。read onlyは自身の不変なのでどう的なatomによりatomを変更したい時に使える。
具体例
曜日によって価格を変える飲食店
- atomで時間を動的に保持する(1時間ごととか)
- atomWithDefaultで1.のatomが土日フラグだったらrateを変える
あとresetがあるらしくここでいうとrateを初期値(平日rate)に戻せるのもありそう
参考: