This is a bridge adapter that lets you use Redux or Redux Toolkit as the state backend for json-render's declarative UI system. You pass in your Redux store, a selector to pick which slice holds your json-render state, and a dispatch function to update it. The adapter implements json-render's StateStore interface so components can read and write state without knowing Redux is underneath. It's useful if you're already committed to Redux for global state management but want to drive dynamic UI from JSON configs. The setup is straightforward but does require a dedicated slice and a bit of wiring boilerplate to connect the two worlds.

skills.sh installs
1.1K
GitHub stars
19.5K
last updated
Aug 21, 2026

Install

$ npx -y skills add vercel-labs/json-render --skill redux --agent claude-code

Installs into .claude/skills of the current project.

Files

@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)),
});

Sponsors

Details

Repository
github.com/vercel-labs/json-render
Categories
Frontend Development, Cloud & Infrastructure
First seen
May 16, 2026

More from vercel-labs/json-render

All 31
1patternsdev avatarreact-render-optimizationpatternsdev/skillsTeaches React rendering performance optimization patterns. Use when reducing unnecessary re-renders, optimizing memoization, improving state design, or diagnosi1.1Kskills.sh installs
2spences10 avatarsvelte-runesspences10/svelte-skills-kitSvelte runes guidance. Use for reactive state, props, effects, or migration. Covers $state, $derived, $effect, $props, $bindable. Prevents reactivity mistakes.1.1Kskills.sh installs
3patternsdev avatarreact-data-fetchingpatternsdev/skillsTeaches modern React data fetching patterns with TanStack Query, SWR, and Suspense. Use when implementing caching, deduplication, optimistic updates, or paralle1.1Kskills.sh installs
4astronomer avatarsetting-up-astro-projectastronomer/agentsInitialize and configure Astro/Airflow projects. Use when the user wants to create a new project, set up dependencies, configure connections/variables, or under1.1Kskills.sh installs
5mindrally avatarhtmlmindrally/skillsGuidelines for semantic HTML markup, document structure, forms, accessibility attributes, and modern HTML best practices1.1Kskills.sh installs
6waynesutton avatarconvex-component-authoringwaynesutton/convexskillsHow to create, structure, and publish self-contained Convex components with proper isolation, exports, and dependency management1.1Kskills.sh installs