ReadModelを木構造ではなくグラフ構造にしたい
状態管理ライブラリを使うのは,Read視点で見るとアプリを木構造ではなくグラフで駆動させるため React本体にはこれを実現する機能は存在しない
「アプリケーションは1つの巨大なJSONによって記述される」みたいな思想がありそう
JSONに色を付けるという作業が本質
ただ木構造だけでは不十分な場合があって,例えばTwitterのように,同じツイートが複数の場所で表示されるような場合
それに「いいね」したら,別の場所でも「いいね」が反映されていないと困る
これは木構造で表現した場合実現不可能だが,グラフならいける
非正規化 vs 正規化みたいな文脈で見られることも多いけど,これは極論を言えば木 vs グラフでもある
別の解法として,「今持っているデータを信じず,常に新しいデータを取りに行く」という戦略も考えられる
swrはデータ同士の関連性を知らないが,「どのデータが古くなっているか」は知っている 古くなったデータを読み出そうとするとき,古いデータを一応は表示するが,裏で新しいデータを取りに行く
React Concurrent Renderingならもっと話は単純で,遷移の度に新しいデータを取りに行っても,取得が十分に高速にできれば誰も気付かない
TweetDeckみたいに同じ画面の別の場所に同じデータが表示される可能性がある場合,この戦略は破綻する 関連