2017-03-24 2 views
0

Ich arbeite an einem reaktionseigenen Projekt.Wie setze ich nextProps.arbitraryValue zurück, nachdem ich es benutzt habe?

Ich habe Komponente A, die Komponente B ruft

Wenn der Bildschirm B Arbeit fertig macht, ruft sie:

NavigationActions.pop({refresh: {workComplete: true}}) 

Und auf dem Bildschirm A, habe ich den folgenden Code:

componentWillReceiveProps(nextProps) { 
    if (nextProps.workComplete) { 
     window.alert('work was completed'); 
    } 
    } 

Allerdings bleibt die props.workComplete gesetzt, und ich bin mir nicht sicher, wie ich es deaktivieren soll, damit ich eine Warnung bekomme, wenn Requisiten in dieser Komponente geändert werden.

Wie kann ich diesen Eigenschaftswert zurücksetzen?

Antwort

0

Nicht sicher, was Sie mit Unset meinen, aber dies wird immer dann aufgerufen, wenn Requisiten geändert werden, und da workComplete auf true gesetzt ist, wird es Sie ständig warnen. Sie können workComplete als Statuswert haben und etwa Folgendes tun:

componentWillReceiveProps(nextProps) { 
    if (nextProps.workComplete !== this.state.workComplete) { 
     this.setState({ workComplete: true },() => window.alert('work was completed')); 
    } 
    } 
Verwandte Themen