我不知道如何使用扩展运算符更深入一层。我正在使用 Redux,并且我有以下用户状态:
const INITIAL_STATE = {
token: null,
progress: {
hasSeenTutorial: false,
hasSignedUp: false
},
information: {
fullname: null,
username: null,
phone: null,
verificationCode: null
}
}
我正在尝试在操作中使用扩展运算符将 hasSeenTutorial
更改为 true
:
case 'UPDATE_TUTORIAL_SEEN':
return {...state, hasSeenTutorial: action.payload}
但这会在我的对象末尾添加一个新的 hasSeenTutorial
,所以显然我想使用这样的东西:
case 'UPDATE_TUTORIAL_SEEN':
return {...state, progress.hasSeenTutorial: action.payload}
注意添加的进度。
但这不是正确访问它的方式 - 它会引发错误,正确的方法是什么?
注意:关键是也不要修改 hasSignedUp - 我只想使用扩展运算符访问和修改 hasSeenTutorial。
编辑:这个问题是独特的 - 我想知道如何仅使用扩展语法 ...
而不是使用 Object.create 或 Object.assign 来做到这一点 - 如果我使用了这些我可能不会同时混合 ...
。
最佳答案
case 'UPDATE_TUTORIAL_SEEN':
return {
...state,
progress: {
...state.progress,
hasSeenTutorial: action.payload
}
};
关于javascript - 对对象使用 ... 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126177/