mcpField
J
jotai

jotai

github.com/vercel-labs開発18.8k1.1k 回インストール5 日前に更新
リポジトリ

jotai について

json-render の Jotai アダプターで、書き込み可能な atom を StateStore のバックエンドとして使えます。既存の Jotai store を渡せば、アプリのコンポーネントと状態を共有できます。

主な機能

  1. 01Jotai atom を使う StateStore
  2. 02共有 Jotai store の指定

活用シーン

  1. 01json-render で Jotai の状態を利用
  2. 02既存の Jotai コンポーネントとの状態共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vercel-labs/json-render --skill jotai

インストール後、Claude Code で/jotaiを入力して読み込まれたか確認します。

詳細

@json-render/jotai

json-render の StateStore インターフェース向けの Jotai アダプターです。Jotai atom を json-render の状態バックエンドとして接続します。

インストール

npm install @json-render/jotai @json-render/core @json-render/react jotai

使い方

import { atom } from "jotai";
import { jotaiStateStore } from "@json-render/jotai";
import { StateProvider } from "@json-render/react";

// 1. Create an atom that holds the json-render state
const uiAtom = atom<Record<string, unknown>>({ count: 0 });

// 2. Create the json-render StateStore adapter
const store = jotaiStateStore({ atom: uiAtom });

// 3. Use it
<StateProvider store={store}>
  {/* json-render reads/writes go through Jotai */}
</StateProvider>
Jotai ストアを共有する場合

アプリですでにカスタムストアを指定した Jotai <Provider> を使用している場合は、json-render とコンポーネントの両方で同じ状態を共有できるよう、そのストアを渡します。

import { atom, createStore } from "jotai";
import { Provider as JotaiProvider } from "jotai/react";
import { jotaiStateStore } from "@json-render/jotai";
import { StateProvider } from "@json-render/react";

const jStore = createStore();
const uiAtom = atom<Record<string, unknown>>({ count: 0 });

const store = jotaiStateStore({ atom: uiAtom, store: jStore });

<JotaiProvider store={jStore}>
  <StateProvider store={store}>
    {/* Both json-render and useAtom() see the same state */}
  </StateProvider>
</JotaiProvider>

API

jotaiStateStore(options)

Jotai atom をバックエンドとする StateStore を作成します。

オプション型必須説明
atomWritableAtom<StateModel, [StateModel], void>はい状態モデルを保持する書き込み可能な atom
storeJotai StoreいいえJotai ストアのインスタンスです。デフォルトでは新しいストアが使用されます。<Provider> と状態を共有するには、独自のストアを渡してください。

コメント