setState()
-
更新数据
-
setState() 更新数据是异步更新
-
在刚使用完 setState() 进行数据更新完后,不能直接拿到最新的值。
-
可以调用多个 setState() ,但是最后只会执行一次 render() --- 只会触发一次页面重新渲染
-
-
推荐写法:
-
this.setState((state,props) => {}, callback) ---- state:最新的state 、 props:最新的props
-
这种写法,连续调用多个 setState() 方法时,就可以获取到最新的值来操作
-
mouse = () => {
this.setState((state, props) => {
return (
count : state.count + 1
)
})
}
-
后面的回调函数:
- 使用:在状态更新完毕后,立即执行某个操作
mouse = () => { this.setState((state, props) => { return ( count : state.count + 1 ) }, () => { console.log('状态更新完毕') } ) }