❌️Recoil
2025/1/2にリポジトリがアーカイブされた
RecoilのメンテナがMetaのレイオフに会い、継続が困難(?)になっているらしい
日本では2023/7にTwitterで話題に上がってたが、たぶんもっと以前からの話
まだexpetimental
大きく2つの概念がある
任意のComponentsからアクセスできるglobalなstateであるatom
それを計算した状態を保持するselector
公開されたのは2020/5/15頃
RecoilRoot
これ以下で扱うAtomのkeyは互いにuniqでないといけない
普通はAppらへんのRootに置かれる
family
API
isRecoilValue
constSelector
errorSelector
noWait
waitForAll
waitForAllSettled
waitForNone
waitForAny
参考
パフォーマンス観点のuseContextとの比較など
Recoilの基本的な使い方の概説
0.2.0が出た
v0.5
ReactのComponent Treeとは全く独立に状態グラフを持つ
React上で状態を扱うと、状態が変わるたびに再renderingが起きてしまうが、それを防げる
hooks同士の連携をする際に、再処理するたびにわざわざ再renderingは不要
Reactとは別の場所で状態を管理することでそれができる
renderingの回数を抑えられる
Reason版
Recoilのdebugger
deux dev toolsみたいなやつ
良さそうだが、
このエラーが解決できないので使ってない

>ただ、最近アイデアが発表されたuse APIは、非同期なステートを全部PromiseとuseMemoにしてしまうことでRecoilの機能を代替できる可能性を秘めています。これが実用化されるとRecoilを採用する意味が薄れてくる可能性はありますね。
ベスプラ
Recoil Patterns: Hierarchic & Separation