Я борюсь с разрушением объектов, используя этот синтаксис:
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 я получаю тот же объект, без каких-либо изменений.
Вот мое приложение:
https://glitch.com/edit/#!/understanding-redux-skypey?path=src/reducers/messages.js:58:35
Возможно, существует проблема с другим фрагментом кода, однако, как вы можете видеть, другое действие для добавления нового сообщения (SEND_MESSAGE в messages.js) работает нормально (нажмите на контакт, чтобы увидеть чат и форму ввода) в правой панели. .
Понятия не имею, что не так. Код вроде бы в порядке, но почему-то не работает.