2017-08-20 4 views
0

In Reaktion js Komponente ich diesen CodeReactjs setstate durch Feld

this.state.author[field] = value; 

in der Konsolen ich eine Warnung erhalten haben: Seien Sie nicht Staat direkt mutieren. Verwenden Sie setState()

Wie konnte ich Autor mit [] in SetState setzen?

+1

Mögliche Duplizieren: https://stackoverflow.com/questions/ 43040721/react-set-state-in-for-nested-state –

+0

meine Frage bezieht sich auf einen Feldwähler in eckigen Klammern [] – amorenew

Antwort

1

Wenn Feld eine Variable ist, die den Schlüssel hält, können Sie dies tun:

this.setState({author: {...this.state.author, [field]: value}}) 
1
** 

setState Funktion Reagieren verwendet den Zustand der Komponente zu aktualisieren, können Sie Somethings tun wie unten

**

let newAuthor = [...this.state.author]; 
newAuthor[field] = value; 
this.setState({author:newAuthor}); 
+0

gute Lösung danke – amorenew

Verwandte Themen