ReduxのStore設計
ReduxでStoreの設計をどうするか
Organizing State | Redux
公式doc
銀の弾丸なし
アプリケーションで他にこのデータを使うか?
複数のコンポーネントで同じデータを使うか?
デバッグ時に特定の時点に状態を復元できる必要があるか?
データをキャッシュする?(再リクエストする代わりにstateのデータを使いたい?)
hot-reloadingするときにデータが失われてほしくない?
TwitterやSlackのRedux Storeを覗く - Tech Blog - Recruit Lifestyle Engineer
ベストプラクティスは公式docがある。そのままだとわからないところもあるので実装を見たという記事
Slack
再レンダリングの対象にならないようDomain dataを構造化するという方法
正規化
チャンネルとユーザの間には中間テーブルがある
Twitter
タイムラインはApp state
normalizrでAPIの結果をそのままつっこんでいる
AirBnB
普通の宿の予約システム
ページごとにStateわける
設計も違うのでMicro Frontendsでチームごとに違う?
共通化パーツは専用Stateがある