本格的に記事にするのはまだ時間がかかりそうなので、ショートバージョンでたまにはこちらに。
Jotaiを推して入るものの、ずっとディレクトリ構成に悩んで答えを出せずに居た所とある記事が目に止まりました。
その記事のおかげでどう考えるべきか踏ん切りがついたのでそれをツイートでまとめてみました。↓
これを見て自分の中の靄が晴れてきた感じ。
— Teruhisa Yamamoto (@tell_y_t) November 6, 2022
Jotai / Recoil は従来のReduxのようなトップダウンな状態管理ライブラリではなくボトムアップ型。
なので一元的にまとめるような構成は哲学に反してる気がする。
Single source of truth 、巨大なstoreから切り出すのを忘れよう?https://t.co/Vox3BW7rlf pic.twitter.com/qn0O8FF4Pt
トップダウン型であるReduxやZustandならば元記事のように1箇所に集めるパターンは理にかなっていると思います。
今回はボトムアップ型である状態管理ライブラリはどうするべきなんだろう、という視点での考察でした。
余談
この記事を書いて寝ようと思っていたところに Jotai 作者の @daishi さんがこんなツイートを。
Zustand is primarily designed for single store, but multiple stores are possible too. I have suggested only isolated store use case because you can't coordinate them.
— Daishi Kato (@dai_shi) November 6, 2022
Jotai and Valtio have "derive" capability.
Can we do similar? Here's derive-zustand:https://t.co/3weQUKWbXj
ZustandでJotaiのように派生storeを簡単に作れるようにしちゃったもんで横槍を強めに入れられた感じでした。楽しいですね?
(Zustandがボトムアップ型のアプローチでコーディングできるようになったのでせっかく引き合いに出してたのに説明が面倒になったしもう笑うしか無くてあぁ楽しいな、って感じです)