Ich möchte einfach ein Element zu einer Liste irgendwo in meinem unveränderlichen Objektbaum hinzufügen.Hinzufügen eines einzelnen Elements zu einer unveränderlichen Liste
Diese Frage erscheint hier beantwortet zu haben:
Aber aus irgendeinem Grund ist es nicht für mich arbeiten.
Wenn ich den folgenden Code haben:
var myState = {
a: {
b: {
c: [
{name: 'hi', value: 2},
{name: 'howdy', value: 3}
]
}
}
}
myState = Immutable.fromJS(myState);
myState = myState.update(['a', 'b', 'c'], function (myList) {
myList.push({"name": "hallo", "value": 4})
}
);
Ich erhalte eine Fehlermeldung:
Uncaught TypeError: Cannot read property 'push' of undefined
, die anzeigt, dass der myList Parameter in den Rückruf übergeben wird null ist.
Warum passiert das?
Geige:
https://codepen.io/owatkins/pen/brMava
Mögliche Duplikate von [Wie aktualisiere Element in Liste mit ImmutableJS?] (Https://StackOverflow.com/questions/29589753/How-to-Update-Element-inside-list-with-immutablejs) –
Überprüfen Sie meine Antwort https://stackoverflow.com/a/39788499/3507464 –
fast, Ihr Beispiel beschäftigt sich mit der Aktualisierung von etwas in einem Element in einem Array. Ich möchte nur ein Element zu einem Array hinzufügen. –