Open7

jotai学習メモ

中尾 開中尾 開

jotai(atomWithObservable) vs react query(refetchInterval)

atomWithObservableはデータベースの変更をトリガーに状態変更可能だが、常に監視してるためコスト面が気になる。その点やはりreact queryのrefetchIntervalでポーリングする方がコスト面で優位。
リアルタイム性をより重視する場合atomWithObservableでもいいかもしれないが、react queryのrefetchIntervalでほぼリアルタイムで秒数設定したらいいので、react queryの方がいいなとなってる。

参考:
https://jotai.org/docs/utilities/async#atomwithobservable
https://tanstack.com/query/v4/docs/react/reference/useQuery

中尾 開中尾 開

atomWithDefault
動的に他のatomを読み込んでatomを変更する時に使えるみたい。read onlyは自身の不変なのでどう的なatomによりatomを変更したい時に使える。

具体例
曜日によって価格を変える飲食店

  1. atomで時間を動的に保持する(1時間ごととか)
  2. atomWithDefaultで1.のatomが土日フラグだったらrateを変える

あとresetがあるらしくここでいうとrateを初期値(平日rate)に戻せるのもありそう

参考:
https://jotai.org/docs/utilities/resettable#atomwithdefault:~:text=}-,atomWithDefault,-Ref%3A https