generated at
❌️Recoil


2025/1/2にリポジトリがアーカイブされた


RecoilのメンテナがMetaのレイオフに会い、継続が困難(?)になっているらしい
日本では2023/7にTwitterで話題に上がってたが、たぶんもっと以前からの話







まだexpetimental
Flowで書かれている
大きく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


参考
Recoil発表直後の@uhyo氏の解説
パフォーマンス観点のuseContextとの比較など
Recoilの基本的な使い方の概説





0.2.0が出た

v0.5


ReactのComponent Treeとは全く独立に状態グラフを持つ
React上で状態を扱うと、状態が変わるたびに再renderingが起きてしまうが、それを防げる
hooks同士の連携をする際に、再処理するたびにわざわざ再renderingは不要
Reactとは別の場所で状態を管理することでそれができる
renderingの回数を抑えられる

Reason版


Recoilのdebugger
deux dev toolsみたいなやつ
良さそうだが、このエラーが解決できないので使ってないmrsekut







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