Lets sagen, ich habe eine Komponente reagieren, die einen „Zustand“ mit 10 Feldern hat:Reagieren: können Sie SetState mit vorhandenem Statusobjekt verwenden?
this.state = {
field1: 1,
field2: 2,
... other fields
something: 'a'
};
In einem meiner Event-Handler, ich entscheide, ich möchte einen einzigen Staat Feld aktualisieren. Ist es aus irgendeinem Grund schlecht, so etwas zu tun?
// state has 10 other properties not touched here, and I want them to
// retain their existing values
this.state.something = 'b';
this.setState(this.state);
Oder muss ich tun:
this.setState({
field1: this.state.field1,
field2: this.state.field2,
... set other fields with current value
something: 'b'
});
Ich bin mir bewusst, gibt es Bibliotheken, die es einfach zu kopieren Objektzustand machen, nur gefragt, ob es notwendig ist, das zu tun. Ich sollte auch hinzufügen, dass ich das versucht habe und es scheint zu funktionieren, aber ich habe keine Beispiele online gesehen dies tun, also fragte mich, ob es einen Grund gibt, warum nicht.
Danke, genau das, was ich suche. Ich muss es verpasst haben, als ich die Dokumente überflogen habe. – Ben
Wenn Sie diese Informationen verpasst haben, können Sie dies hier lesen https://facebook.github.io/react/docs/component-api.html –
Haben Ihre beiden Beispiele unterschiedliche Auswirkungen? In Bezug auf das Rendern? – drinchev