@vercel-labs/redux

The Generative UI framework

View in AI SkillSafe app
Scanned · no findings
28151 downloads
0 stars
0 demos
SKILL.md
nameredux
descriptionRedux 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

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

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.

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@vercel-labs/redux/verified)](https://skillsafe.ai/skill/@vercel-labs/redux/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@vercel-labs/redux/installs)](https://skillsafe.ai/skill/@vercel-labs/redux/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@vercel-labs/redux/scan)](https://skillsafe.ai/skill/@vercel-labs/redux/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@vercel-labs/redux/eval)](https://skillsafe.ai/skill/@vercel-labs/redux/)