Ho un componente React.js che viene reso in questo modo:React.js - componentWillReceiveProps essere stato colpito due volte
<Social email={this.state.email} />;
ci sono alcuni eventi nella pagina che aggiornamento this.state.email
, e, di conseguenza, passare attraverso render , che invia un nuovo puntello email
al componente Social
.
In questa componente Social
, sto ascoltando gli aggiornamenti in questo modo:
componentWillReceiveProps: function(nextProps) {
console.log('received props update', nextProps.email);
this.doSomeWork();
}
Quella linea console è reso due volte che rende il flash UI due volte insieme a chiamate verso le reti sociali.
potrei sempre fare qualcosa di simile:
if (nextProps.email != this.props.email) {
this.doSomeWork();
}
Ma c'è sembrata un po 'hacky ...
è il doppio messaggio previsto? e se è così, curioso perché?
In caso contrario, qual è il modo migliore per rintracciarlo ed eliminarlo?
doppio rendere === doppie chiamate, ripensare il vostro rendering. :) –