Skip to main content

redux

Redux adapter for json-render's StateStore interface. Use when integrating json-render with Redux or Redux Toolkit for state management via @json-render/redux.

ソース情報

リポジトリ
vercel-labs/json-render
ソースの最終更新活動
2026年3月7日 02:22
検出された SKILL.md の言語
英語
スター
18,686
フォーク
992

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
redux
description
Redux adapter for json-render's StateStore interface. Use when integrating json-render with Redux or Redux Toolkit for state management via @json-render/redux.
# @json-render/redux Redux adapter for json-render's `StateStore` interface. Wire a Redux store (or Redux Toolkit slice) as the state backend for json-render. ## Installation ```bash 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 ``` ## Usage ```tsx 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)` Creates a `StateStore` backed by a Redux store. | Option | Type | Required | Description | |--------|------|----------|-------------| | `store` | `Store` | Yes | The Redux store instance | | `selector` | `(state) => StateModel` | Yes | Select the json-render slice from the Redux state tree. Use `(s) => s` if the entire state is the model. | | `dispatch` | `(nextState, store) => void` | Yes | Dispatch an action that replaces the selected slice with the next state | The `dispatch` callback receives the full next state model and the Redux store.
GitHubで見る