redux by vercel-labs/json-render
npx skills add https://github.com/vercel-labs/json-render --skill redux适用于 json-render StateStore 接口的 Redux 适配器。将 Redux store(或 Redux Toolkit slice)作为 json-render 的状态后端。
npm install @json-render/redux @json-render/core @json-render/react redux
# 或使用 Redux Toolkit(推荐):
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. 为 json-render 状态定义一个 slice
const uiSlice = createSlice({
name: "ui",
initialState: { count: 0 } as Record<string, unknown>,
reducers: {
replaceUiState: (_state, action) => action.payload,
},
});
// 2. 创建 Redux store
const reduxStore = configureStore({
reducer: { ui: uiSlice.reducer },
});
// 3. 创建 json-render StateStore 适配器
const store = reduxStateStore({
store: reduxStore,
selector: (state) => state.ui,
dispatch: (next, s) => s.dispatch(uiSlice.actions.replaceUiState(next)),
});
// 4. 使用它
<StateProvider store={store}>
{/* json-render 的读写操作将通过 Redux 进行 */}
</StateProvider>
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
reduxStateStore(options)创建一个由 Redux store 支持的 StateStore。
| 选项 | 类型 | 必需 | 描述 |
|---|---|---|---|
store | Store | 是 | Redux store 实例 |
selector | (state) => StateModel | 是 | 从 Redux 状态树中选择 json-render 的 slice。如果整个状态就是模型,请使用 (s) => s。 |
dispatch | (nextState, store) => void | 是 | 分发一个用下一个状态替换所选 slice 的 action |
dispatch 回调接收完整的下一个状态模型和 Redux store。
每周安装量
148
代码仓库
GitHub 星标
13.3K
首次出现
2026年3月7日
安全审计
安装于
codex146
cursor144
gemini-cli143
kimi-cli143
opencode143
github-copilot143
Redux adapter for json-render's StateStore interface. Wire a Redux store (or Redux Toolkit slice) as the state backend for 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>
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 |
The dispatch callback receives the full next state model and the Redux store.
Weekly Installs
148
Repository
GitHub Stars
13.3K
First Seen
Mar 7, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex146
cursor144
gemini-cli143
kimi-cli143
opencode143
github-copilot143
Genkit JS 开发指南:AI 应用构建、错误排查与最佳实践
7,700 周安装
| Yes |
| Dispatch an action that replaces the selected slice with the next state |