我正在使用以下语法来进行对象分解:
const { [key]:value, ...allNewUserMsgs } = allUserMsgs
其中(示例)
allUserMsgs = {
0 : {number: 0, text: "Those kumquats are nothing more than bees?", is_user_msg: false},
1 : {number: 1, text: "A polite zebra is a wolf of the mind.", is_user_msg: false},
2 : {number: 2, text: "Framed in a different way, a proud lime is a seal of the mind.", is_user_msg: false},
3 : {number: 3, text: "A cooperative kitten is an orange of the mind.", is_user_msg: false}
}
key = 2
并在控制台中手动键入变量,我收到正确的结果,其中:
allNewUserMsgs == {
0 : {number: 0, text: "Those kumquats are nothing more than bees?", is_user_msg: false},
1 : {number: 1, text: "A polite zebra is a wolf of the mind.", is_user_msg: false},
3 : {number: 3, text: "A cooperative kitten is an orange of the mind.", is_user_msg: false}
}
但是问题是,在Redux reducer中使用相同的语法时,我收到的对象相同,没有任何变化。
这是我的应用程序:
https://glitch.com/edit/#!/understanding-redux-skypey?path=src/reducers/messages.js:58:35
也许其他代码段存在问题,但是您可以在右侧面板中看到添加新消息的其他操作(messages.js中的SEND_MESSAGE)工作正常(单击联系人以查看聊天和输入表单)
我不知道怎么了。代码似乎可以,但是由于某些原因无法正常工作。