Ich lerne gerade React/Redux, und habe mit dem folgenden Zustand zu tun. Das Objekt ist ein Array, die JavaScript-Objekte enthält:React/Redux - Setze neuen Zustand ein Zustand, der ein Array ist
default_state = [
{
id: 1,
name: "Smith"
},
{
id: 2,
name: "Matt"
},
{
id: 3,
name: "Tom"
}
];
Jetzt, in meinem Minderer mag ich den Namen des zweiten Objekts in dem Array sagen zu überschreiben. Wie würde ich das tun? Ich kam mit so etwas wie dies, aber es scheint falsch zu sein:
case "SAVE_CHANGES":
state = {...state, { id: 3, name: "Peter"};
Deshalb möchte ich zuerst das Objekt mit der richtigen ID finden, und dann überschreiben diese Namen Objekte. Im Moment überschreibe ich nur die ID und den Namen, und es funktioniert natürlich auch nicht.
Eine frühere Idee von mir war:
state = {...state, state[2].name="Peter"};
Aber das funktioniert auch nicht. Irgendein Rat?
ich einen Syntaxfehler ändern möchten. Sind Sie sicher, dass Sie ein 'const' erstellen und es dann überschreiben können? Ich änderte dies in ein "let", aber ich bekomme immer noch einen Syntaxfehler: 'Unerwartetes Token (56:22) beim Parsen der Datei:' –
Es hängt davon ab, welche Stufe Sie in Babel aktiviert haben. Wenn Sie stage-2 aktivieren, funktioniert die Syntax. Und ich überschreibe die const-Variable nicht. Ich mutiere das Objekt, auf das es sich bezieht. – Brandon