javascript - setInterval()中 react 原生setState,然后setInterval执行错误

标签 javascript react-native

这是我的代码

componentDidMount() {
    let that = this;
    setInterval(() => {
        that.setState({number: 1});
    }, 2000);
}

我写了'let that = this;',但这也是错误。在 2 秒内它执行了不止一次。

最佳答案

为什么不在 setInterval 中使用 this 本身?您已使用fat arrow函数,所以你仍然可以在里面使用 this

这是一个示例代码:

constructor (props) {
    super(props)
    this.state = {
        number: 0
    } 
  }

componentDidMount(){
  setInterval(() => {
      this.setState({number: parseInt(this.state.number, 10) + 1 });
  }, 2000);

}

render() {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center',}}>
      <Text>
       {this.state.number }
      </Text>
    </View>
  );
}

Expo Demo

关于javascript - setInterval()中 react 原生setState,然后setInterval执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42922854/

相关文章:

react-native - showsMyLocationButton 在 android 中不起作用(react-native-maps)

javascript - 如何在 jQuery/JavaScript 中正确插入 PHP 变量?

javascript - 不知道如何编写这个 jQuery

ios - 从 ios native 代码访问存储在 AsyncStorage 中的数据( objective-c )

javascript - 如何将谷歌字体添加到 React Native?

firebase - 在 React Native 中启用 Firebase debugView 事件

react-native - 如何在 React Native 中使用配置变量

javascript - 如何使用 done() 或 next() 将参数传递给下游函数

javascript - 从库命令停止 console.log?

javascript - 在 Node.js 中读取 XML 文件