Sie sollten den Status nicht mit this.state
Mutation ändern. Dies geht gegen das Grundprinzip der Reaktion, um den Zustand nur mit this.setState()
zu ändern. Wenn Sie den Standardstatus für Ihre Komponente benötigen, sollten Sie static initialState
verwenden (falls Sie class
basierte Komponenten verwenden) oder getInitialState()
(falls Sie verwenden).
Gemeinsame Praxis für Backend-Rendering ist auch zu vermeiden, mit Staat überhaupt. Verwenden Sie stattdessen Requisiten. Betrachten wir zwei Komponenten:
class FooContainer extends React.Component {
render() {
return (
<Foo
users={this.state.users}
/>
);
}
}
und
class Foo extends React.Component {
render() {
/* ... */
}
}
Wie Sie vielleicht feststellen, <FooContainer />
Staat hat während <Foo />
nicht. In den meisten Fällen ist es einfach zu rendern <Foo />
aber Rendering <FooContainer />
kann Probleme verursachen (einfach ist compnentDidMount
wird nie ausgeführt werden).
Also sollten Sie Requisiten von Foo
mock und es rendern.