React native 在状态更改时执行一个函数



我想在我的应用程序中的状态更改时触发一个函数。我有一个带有更改状态的按钮的模态。

我的主页组件(已编辑)

...
constructor(props) {
super(props);
  this.state = {
    color:'red',
    modalVisible: false,
  }
}
...
render() {
 return (
  <View>
      <Modal
         animationType={"slide"}
         transparent={false}
         visible={this.state.modalVisible}
      >
       <View style={{marginTop: 22}}>
        <TouchableOpacity onPress={()=>this.setState({color:'blue'})}>
          <Text>Blue</Text>
        <TouchableOpacity>
         <TouchableOpacity onPress={()=>this.setModalVisible(false)}>
          <Text>Blue</Text>
        <TouchableOpacity>
       </View>
    </Modal>
   <Text style={{color:this.state.color}}>
     Foo
   </Text>
  </View>
 )
 ...

但是,当我关闭模态时,文本的颜色不会更改为蓝色。它保持红色,直到我打开模态备份,然后再次关闭。就像"颜色"的状态没有更新一样。在使用redux和'componentWillReceiveProps(nextProps)'之前,我遇到了这个问题,但这让我在同一个组件中难倒了。

我正在使用文档中的本机模态组件。 https://facebook.github.io/react-native/docs/modal.html

可触摸?可触摸亮点?

除了 TouchaleHighlight 标签外,我没有在您的代码中发现任何问题。

https://rnplay.org/apps/fDGs3A

相关内容

  • 没有找到相关文章

最新更新