{"library":"redux-reducers-injector","title":"redux-reducers-injector","description":"Library to dynamically inject reducers into a Redux store at runtime, supporting Hot Module Replacement (HMR) and Server-Side Rendering (SSR). Version 0.3.5 is the latest stable release. It wraps Redux's createStore to accept an uncombined reducer tree and allows adding reducers via injectReducer at any path. Key differentiators include support for nested reducer injection without combineReducers, forced reinjection, bulk injection, and explicit reloadReducer for HMR. Maintained by GuillaumeCisco and based on the work of redux-injector. The package has a small footprint but lacks TypeScript types and relies on lodash.set.","language":"javascript","status":"active","last_verified":"Fri May 01","install":{"commands":["npm install redux-reducers-injector"],"cli":null},"imports":["import { createInjectStore } from 'redux-reducers-injector'","import { injectReducer } from 'redux-reducers-injector'","import { injectReducerBulk } from 'redux-reducers-injector'","import { reloadReducer } from 'redux-reducers-injector'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { createStore, combineReducers } from 'redux';\nimport { createInjectStore, injectReducer } from 'redux-reducers-injector';\n\n// Define reducers as a nested object (DO NOT combine)\nconst reducersObject = {\n  router: (state = {}, action) => state,\n  data: {\n    user: (state = {}, action) => state,\n    auth: {\n      loggedIn: (state = false, action) => state,\n      loggedOut: (state = false, action) => state\n    },\n    info: (state = {}, action) => state\n  }\n};\n\n// Create store with inject capability\nconst store = createInjectStore(reducersObject, {});\n\n// Later, inject a new reducer at 'data.form'\nconst formReducer = (state = {}, action) => state;\ninjectReducer('data.form', formReducer);\n\n// Access state as usual\nconsole.log(store.getState());\n// { router: {}, data: { user: {}, auth: { loggedIn: false, loggedOut: false }, info: {}, form: {} } }","lang":"javascript","description":"Demonstrates how to create a Redux store with redux-reducers-injector using an uncombined reducer object and inject a new reducer dynamically.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}