这是我的代码
componentDidMount() {
let that = this;
setInterval(() => {
that.setState({number: 1});
}, 2000);
}
我写了'let that = this;'
,但这也是错误的。它在2秒内执行不止一次。
答案 0 :(得分:2)
为什么不在this
中使用setInterval
?您已使用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>
);
}