2016-12-26 1 views
0

Je dois effectuer une opération dans mon code. Cette opération consiste à obtenir des valeurs de mon état. Dans certains cas, mon état retourne l'ancienne valeur. Existe-t-il une fonction qui peut m'aider à déclencher mon code une fois toutes les transitions d'état en attente terminées?Puis-je savoir si une transition d'état en attente réagit avant d'effectuer une opération?

save : function(){ 
    //here am using state and it doesnt reflect new value 
    saveFunc(this.state.type); 
} 
+0

Cycle de vie des composants: https://facebook.github.io/react/docs/react-component.html#updating – JulienD

Répondre

0

Vous devez utiliser shouldComponentUpdate()

shouldComponentUpdate() est appelée avant de rendre lorsque de nouveaux accessoires ou de l'état sont en cours de réception. Par défaut à true Cette méthode n'est pas appelée pour le rendu initial ou lorsque forceUpdate() est utilisé.

read more here

Donc ce que vous pouvez faire est:

shouldComponentUpdate(nextProps, nextState) { 
    if(this.state.type !== nextState.type) { 
    // Do what you want 
    } 

} 

Hope it helps.