2016-05-02 5 views

Antwort

1

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.

Verwandte Themen