ステート管理を超えるRecoil運用の考え方
@uhyo_: ロジックをRecoilに寄せるのは自分はとくにReactのレンダリングを減らすことを主目的とはしていなくて、むしろ余計な状態をReact層に見せたくないというのがメインの問題意識だ。それをやると結果的にはレンダリングが減るが。 中途半端な状態がReactに見えると、本来は考えなくてもいい条件分岐を書くことになってしまう。useEffectをロジックに使っていたりするとこれはさらに顕著になる。
中途半端な状態が生まれてしまう原因を求めると多くの場合フック間のコミュニケーションに起因している。
フックの間でコミュニケーションすると必然的にReactのレンダリングを介することになり、これが中途半端な状態がReactに見える原因になる。
そうなると、Reactを介さないコミュニケーションチャネルが必要になる。
こうしてRecoilが生まれた(うそです)
https://scrapbox.io/files/6413deff38f131001b1f488c.png
https://scrapbox.io/files/6413df0eb62d96001c35090f.png