👻
Jotaiのatomは値を持たないのです、たぶんRecoilも同じ
よく誤解されるのですが、atomはステートの定義であって、atomオブジェクト自身は値を持ちません。ObservableやSignalとの違いはそこにあるかもしれません。
atomが単なる定義だとするとどういうメリットがあるでしょうか。再利用性が高くなります。以前作った簡単な例がこちら:
複数のProvider配下で、atomはそれぞれ別の値を持ちます。
ちなみに、Jotai v2によってstoreの存在が明確になったので、説明はしやすくなりました。atomの値はstoreで保持されます。storeはざっくりatomとその値のWeakMapです。
type Store = WeakMap<Atom, AtomValue>
興味がある方はこちらの記事も参照ください。
Jotai Friends のテックブログです。 React状態管理ライブラリJotai(jotai.org)を新たな選択肢に。 エンジニアの皆さんが安心してJotaiを採用できるように支援します。 Powered by twitter.com/t6adev
Discussion