このプロジェクトについて
Jotaiは、npmパッケージとして配布される、React向けのプリミティブで柔軟な状態管理ライブラリです。コアAPIは小さく(約2kb)、単純なuseStateの代替からエンタープライズ向けTypeScriptアプリケーションまでスケールするように設計されています。
中心となる概念はアトムであり、これは状態の一片を表します。プリミティブアトムは初期値で作成され、その値は文字列、数値、オブジェクト、配列のいずれでもかまいません。コンポーネントはuseAtomフックを通じてアトムを利用します。このフックはReact.useStateと同様に動作し、現在の値とセッターを返します。
派生アトムは既存のアトムから構築できます。読み取り専用の派生アトムは、最初の引数として読み取り関数を渡すことで作成されます。getヘルパーは任意のアトムのコンテキスト値を取得します。複数のアトムを単一の派生アトムに組み合わせることもでき、アトムの配列に対してgetをマッピングするような関数型パターンも含まれます。
非同期派生アトムは、読み取り関数をasyncにすることでサポートされ、ローディング状態のためにReact Suspenseと統合されます。書き込み可能な派生アトムは、2番目の引数として書き込み関数を受け取ります。ここでgetは現在の値を返し、setはアトムを更新します。読み取り関数を省略することで書き込み専用アトムも可能であり、非同期アクションは書き込み関数をasyncにして結果が準備できたときにsetを呼び出すことで実装できます。
このプロジェクトは、その流動的なインターフェースが意図的であると述べています。アトムはモナドとして説明され、モジュール性が高く純粋で保守しやすいコードのためのパターンです。READMEからはドキュメント、ウェブサイト、コースがリンクされています。このライブラリは文字列キーを避けており、READMEではこれをRecoilと対比しています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.