很多使用我们就是直接项目里面用this.setState操作相应数据流,很多时候我并没有弄清其具体缘由,就是为什么这么用?
React官方文档中说明state是用于组件挂载时所需数据的默认值,State 可能会随着时间的推移而发生突变,但多数时候是作为用户事件行为的结果.
constructor(props) {
super(props)
this.state = {
count: 10,
}
}
//通过调用this.setState去更新this.state,不能直接操作this.state,我们就把它当成不可变的.调用setState更新this.state,它不是马上就会生效的,他是异步的。所以不要认为调用完setState后可以立马获取到最新的值,多个顺序执行的setState不是同步的一个接着一个的执行,会加入一个异步队列,然后最后一起执行,即批处理。
timer = setInterval(() => {
this.setState(() => ({
count: --this.state.count,
}), () => {
if (this.state.count < 1) {
clearInterval(timer);
this.props.history.push("/main/home");
}
});
}, 1000)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。