Entityから状態を追い出す
どれほど再現性のあるノウハウなのかわからないがメモっておくmrsekut.icon
例えば、Tweet Entityを定義することを考える
code:ts
type Tweet = {
id: TweetId
authorId: UserId;
tweet: string;
isLike: boolean;
}
ここに、isLikeを含めない方が良いという話
APIの返却値をisLike以外とisLikeに分ける
前者は、useTweetsなどで取得し、後者はuseTweetLikeなどで取得する
Entityがimmutableになる
一度responseで取得した値は以後、clientで変更されることはない
取得したものを、そのまま表示しているだけ
cacheしやすい
likeしたときは、そこだけrefetchすれば良い
デメリットとしては初回のrequest回数が増える
今まで1回で取得できていたものが、2回reqを送ることになる