React native 使用nextProps.ArricryValue后如何重置它?

React native 使用nextProps.ArricryValue后如何重置它?,react-native,react-native-navigation,React Native,React Native Navigation,我正在做一个项目 我有一个叫做组件B的组件A 当屏幕B完成工作时,它调用: NavigationActions.pop({refresh: {workComplete: true}}) 在屏幕A上,我有以下代码: componentWillReceiveProps(nextProps) { if (nextProps.workComplete) { window.alert('work was completed'); } } 但是,props.workC

我正在做一个项目

我有一个叫做组件B的组件A

当屏幕B完成工作时,它调用:

NavigationActions.pop({refresh: {workComplete: true}})
在屏幕A上,我有以下代码:

  componentWillReceiveProps(nextProps) {
    if (nextProps.workComplete) {
      window.alert('work was completed');
    }
  }
但是,props.workComplete保持设置状态,我不确定如何取消设置,因此当此组件中的道具发生更改时,我会不断收到警报


如何重置该属性值?

不确定“未设置”是什么意思,但每次道具更改时都会调用该属性,并且由于workComplete设置为true,因此它会不断提醒您。您可以将workComplete作为状态值,并执行以下操作:

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