2017-02-08 3 views
1

Unten ist mein BeispielcodeWie die Komponente neu rendern, wenn this.props.children

var Test = React.createClass({ 

componentDidMount: function(){ 
    //do something 
} 

render: function() { 
    return (
     <div id="testDiv"> 
      <Header 
       messages={this.props.mesage} /> 
      {this.props.children} 
      <Footer /> 
     </div> 
    ); 
} 
}); 

Ich werde tun, was in componentDidMount verändert hat. Wenn die this.props.children, die KomponenteDidMount wird nicht ausgeführt, warum?

Wie kann ich Funktion ausführen, wenn this.props.children jedes Mal geändert wurde?

Antwort

2

componentDidMount wird nur einmal ausgeführt, wenn Komponenten installiert sind. Sie sollten componentWillUpdate verwenden, die unmittelbar vor dem Rendern aufgerufen wird, wenn neue Requisiten oder Status empfangen werden, oder componentWillReceiveProps, die aufgerufen wird, bevor eine eingehängte Komponente neue Requisiten erhält.

+0

Wirklich geschätzt. Ich benutze nie componentWillUpdate, also vergesse ich es total. – Dreams

Verwandte Themen