我试图弄清楚如何在状态树中为从用户事件创建的属性设置reducer。
我的状态树看起来像这样:
{
session: { session object },
dashboard: {
id: 'id001',
charts: {
'cid001': { dimensions: { ... }, more objects... },
'cid002': { dimensions: { ... }, more objects... }
}
}
}
当用户单击“添加图表”按钮时,新的charts
属性通过Redux进入。密钥设置为图表ID cid
。
我目前正在使用combineReducers()
设置reducer树。
import session from './session';
import charts from './charts';
const rootReducer = combineReducers({
session,
dashboard: combineReducers({
charts
});
});
如果我提前知道属性名称,我可以像这样嵌套reducer。但是,我想避免使用charts
属性的大量减速器,因为它内部的每个图表上最多可以有20个需要减少的对象,dimensions
只是一个例子
有没有办法为charts['cidxxx'].dimensions
和其他子属性设置减速器?这是否有通配符令牌?有什么想法吗?
答案 0 :(得分:0)
对象传播对于这样的事情会很好。
OR
如果您希望在属性树方面比这更深入,那么可能值得考虑如何更改数据的形状以匹配您的使用方式。