redux-subspace
This is a library to help build decoupled, componentized Redux apps that share a single global store. This is the core package of redux-subspace
Installation
npm install --save redux redux-subspace
Quick Start
import { createStore, combineReducers } from 'redux'
import { subspace, namespaced } from 'redux-subspace'
import { todoReducer, addTodo } from './todoApp'
import { counterReducer, increment, decrement } from './counterApp'
const rootReducer = combineReducers({
todo: todoReducer
counter1: namespaced('counter1')(counterReducer),
counter2: namespaced('counter2')(counterReducer)
})
const store = createStore(rootReducer)
const todoStore = subspace((state) => state.todo)(store)
const counter1Store = subspace((state) => state.counter1, 'counter1')(store)
const counter2Store = subspace((state) => state.counter2, 'counter2')(store)
todoStore.dispatch(addTodo('Use redux-subspace!'))
const todoState = todoStore.getState()
counter1Store.dispatch(increment())
const counter1State = counter1Store.getState()
counter2Store.dispatch(decrement())
const counter2State = counter2Store.getState()
const rootState = store.getState()
Documentation
The full documentation for Redux Subspace can be found here.