Моего магазин:Ошибки при помощи реакции-обновление
{
people: [
{
id: 12345,
name: Person 1
},
{
id: 54321,
name: Person 2
}
]
}
Я пытаюсь обновить name
собственности на лице 1. Я использую react-addons-update
так:
update(state, {
people: {
[action.person.id]: {
name: action.person.name
}
}
}
action.person
Где это объект { id: 12345, name: New name }
.
Однако я получаю сообщение об ошибке:
Uncaught (in promise) TypeError: Cannot read property 'name' of undefined(…)
Это время брошенной в update
методы react-addons-update
«s. В частности,
for (var k in spec) {
if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {
nextValue[k] = update(value[k], spec[k]); // Error occurs here
}
}
Насколько я могу сказать, проблема в том, что когда nextValue
, value
и spec
все готово к people
, k
устанавливается в action.person.id
. И, конечно, этот id не существует в массиве (это массив людей).
Так что мой вопрос в том, что я могу передать вместо [action.person.id]
для этого? В соответствии с обоими this и this я должен работать.
пса вы должны использовать [неизменность-хелперы] (https://github.com/kolodny/immutability-helper) - 'реагирующих-аддоны-update' является [устаревшее] (https://facebook.github.io/react/docs/update.html) – naomik