javascript - Assigning a reducer for a dynamic store property -
i'm trying figure out how set reducer property in state tree gets created user events.
my state tree looks this:
{ session: { session object }, dashboard: { id: 'id001', charts: { 'cid001': { dimensions: { ... }, more objects... }, 'cid002': { dimensions: { ... }, more objects... } } } } new charts properties come in through redux when user clicks add chart button. key set chart id, cid.
i'm using combinereducers() set reducer tree.
import session './session'; import charts './charts'; const rootreducer = combinereducers({ session, dashboard: combinereducers({ charts }); }); i able nest reducers if know property names ahead of time. however, i'd avoid having massive reducer charts property, since each chart inside have 20 more objects on need reducing, dimensions 1 example.
is there way set reducer charts['cidxxx'].dimensions, , other sub-properties? there wildcard tokens this? thoughts?
object spreads nice this.
function chartsreducer(state, {payload}) { const {cid} = payload; const currentchart = state[cid] || {}; return {...state, [cid]: {...currentchart, ...payload}}; } if looking go deeper in terms of property trees, may worth thinking how change shape of data match how using it.
Comments
Post a Comment