我正在学习Redux,但在尝试弄清楚如何向字典添加密钥对时遇到了麻烦:
//Page Dictionary
{
randomId1: { aPageObj },
randomId2: { aPageObj }, etc
}
我试过这个了,但是不管用
//action
export function addPage( pageId, pageObj ) {
return { type: types.ADD_PAGE, pageId, pageObj };
}
//reducer
case types.ADD_PAGE: {
return Object.assign({}, state, {
pages: {
...state.pages, action.pageId: action.pageObj
}
});
}
我做错了什么?还在想怎么不让状态变异。
2条答案
按热度按时间0g0grzrc1#
您需要使用对象文本的计算属性名称(使用
[]
):此外,如果可以使用对象spreas语法,则可以省略
Object.assign
,例如:i5desfxk2#
虽然我们可以在redux中存储Map,但不推荐使用https://github.com/reduxjs/redux/issues/1499。