👻

Jotaiのコアのシンプル版87行のコード、React状態管理ライブラリの学習用にいかがでしょう

2022/01/28に公開

前回の記事

少し前にこんな記事を書きました。

https://zenn.dev/dai_shi/articles/610a8a958fc9d1

そこで未実装としていた次の二つがあります。

  • 派生atom (dependency trees)
  • 派生writable atom (writeのカスタマイズ)

ちょっと興味本位でこれらを追加実装してみました。

シンプルバージョンのロングバージョン

https://twitter.com/dai_shi/status/1485434083778117632

ちょっと長すぎるのでコードのコピペはしません。

デモ

が、こちらのCodeSandboxの方にコードは載せてあります。

次のステップ

次の課題は、Provider (React Context)対応になりますが、これはuse-atomというライブラリで実装したので、そちらを参照していただければです。

https://github.com/dai-shi/use-atom

最後にSuspense対応も加えると、およそjotaiが実現していることと同等になるはずです。興味がある方はjotaiのリポジトリを覗いてみてください。

https://github.com/pmndrs/jotai

リンク集

https://jotai.org

https://zenn.dev/topics/jotai

https://jotaifriends.dev

Discussion