redux について
@json-render/reduxは、Reduxストアをjson-renderのStateStoreインターフェースに接続するアダプターです。既存のReduxまたはRedux Toolkitの状態ツリーをjson-renderの状態管理に使いたい開発者向けです。
主な機能
- 01ReduxストアをStateStoreに接続
- 02Redux Toolkitのsliceに対応
- 03selectorで状態モデルを選択
- 04dispatchで状態モデルを更新
活用シーン
- 01json-renderの状態をReduxに保存
- 02Redux ToolkitのsliceでUI状態を管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vercel-labs/ json-render --skill reduxインストール後、Claude Code で/reduxを入力して読み込まれたか確認します。
詳細
@json-render/redux
json-render の StateStore インターフェース用 Redux アダプターです。Redux ストア(または Redux Toolkit のスライス)を json-render の状態バックエンドとして接続します。
インストール
npm install @json-render/redux @json-render/core @json-render/react redux
# or with Redux Toolkit (recommended):
npm install @json-render/redux @json-render/core @json-render/react @reduxjs/toolkit
使用方法
import { configureStore, createSlice } from "@reduxjs/toolkit";
import { reduxStateStore } from "@json-render/redux";
import { StateProvider } from "@json-render/react";
// 1. Define a slice for json-render state
const uiSlice = createSlice({
name: "ui",
initialState: { count: 0 } as Record<string, unknown>,
reducers: {
replaceUiState: (_state, action) => action.payload,
},
});
// 2. Create the Redux store
const reduxStore = configureStore({
reducer: { ui: uiSlice.reducer },
});
// 3. Create the json-render StateStore adapter
const store = reduxStateStore({
store: reduxStore,
selector: (state) => state.ui,
dispatch: (next, s) => s.dispatch(uiSlice.actions.replaceUiState(next)),
});
// 4. Use it
<StateProvider store={store}>
{/* json-render reads/writes go through Redux */}
</StateProvider>
API
reduxStateStore(options)
Redux ストアをバックエンドとする StateStore を作成します。
| オプション | 型 | 必須 | 説明 |
|---|---|---|---|
store | Store | はい | Redux ストアのインスタンス |
selector | (state) => StateModel | はい | Redux の状態ツリーから json-render のスライスを選択します。状態全体がモデルの場合は (s) => s を使用します。 |
dispatch | (nextState, store) => void | はい | 選択したスライスを次の状態で置き換えるアクションをディスパッチします |
dispatch コールバックには、状態モデル全体の次の状態と Redux ストアが渡されます。
コメント
Markdown 対応