use*_*352 1 javascript reactjs redux react-redux
我正在学习Redux,并且无法弄清楚如何在字典中添加密钥对:
//Page Dictionary
{
randomId1: { aPageObj },
randomId2: { aPageObj }, etc
}
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但这不起作用
//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
}
});
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?还在试图弄清楚如何不改变状态..
您需要使用对象文字的计算属性名称(带[]):
pages: {
...state.pages, [action.pageId]: action.pageObj
}
Run Code Online (Sandbox Code Playgroud)
此外,如果您可以使用对象spreas语法,则可以省略Object.assign,例如:
return {
...state,
pages: {
...state.pages, [action.pageId]: action.pageObj
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1887 次 |
| 最近记录: |