mcpField
R
redux

redux

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

redux について

@json-render/reduxは、Reduxストアをjson-renderのStateStoreインターフェースに接続するアダプターです。既存のReduxまたはRedux Toolkitの状態ツリーをjson-renderの状態管理に使いたい開発者向けです。

主な機能

  1. 01ReduxストアをStateStoreに接続
  2. 02Redux Toolkitのsliceに対応
  3. 03selectorで状態モデルを選択
  4. 04dispatchで状態モデルを更新

活用シーン

  1. 01json-renderの状態をReduxに保存
  2. 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 を作成します。

オプション型必須説明
storeStoreはいRedux ストアのインスタンス
selector(state) => StateModelはいRedux の状態ツリーから json-render のスライスを選択します。状態全体がモデルの場合は (s) => s を使用します。
dispatch(nextState, store) => voidはい選択したスライスを次の状態で置き換えるアクションをディスパッチします

dispatch コールバックには、状態モデル全体の次の状態と Redux ストアが渡されます。

コメント