用途:@json-render/redux 是 json-render 的 StateStore 接口的 Redux 适配器,用于把 Redux store(或 Redux Toolkit slice)作为 json-render 的状态后端,使 json-render 的读写操作都经过 Redux。
主要能力:提供 reduxStateStore(options) 方法创建一个由 Redux store 支撑的 StateStore。方法接受三个必需选项:store 为 Redux store 实例;selector 为从 Redux 状态树中选取 json-render 切片的函数,若整个状态即为模型则可用 (s) => s;dispatch 为一个接收完整下一状态模型和 Redux store 的回调,用于派发动作以替换所选取的切片。
使用方式:安装依赖使用 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。示例流程为:用 createSlice 定义一个名为 ui 的切片,初始状态为 { count: 0 },reducer 为 replaceUiState;用 configureStore 创建 Redux store;再用 reduxStateStore 传入 store、selector(如 (state) => state.ui)和 dispatch(派发 uiSlice.actions.replaceUiState(next))创建适配器;随后在界面中使用该适配器,json-render 的读写即通过 Redux 完成。
适用场景:需要在已有 Redux 或 Redux Toolkit 状态管理体系中集成 json-render,并希望状态变更统一由 Redux 管理时使用。
限制:资料未提供关于支持的 Redux 版本、与 React 以外的框架兼容性、性能限制及错误处理方式的说明。