react中setState更新状态几种方式
原创2
前言
setState
在合成事件和挂钩函数、本机事件和 setTimeout
已同步到
对象编写
setState(stateChange, [callback])
stateChange
更改状态的对象(该对象可以反映状态变化)-
callback
是可选的回调函数, 在更新状态和更新界面之后(render
调用后)才被调用state = {count:0} add = ()=>{ // 对象式setState this.setState({count:this.state.count+1},()=>{ console.log(this.state.count); }) }
功能写作
setState(updater, [callback])
updater
为返回stateChange
对象的函数。updater
可以收到state
和props
。 (主要区别)-
callback
是可选的回调函数, 它在状态和界面也更新之后更新。(render
调用后)被称为。state = {count:0} add = ()=>{ //函数式的setState this.setState( state => ({count:state.count+1}),()=>{ console.log(this.state.count) }) }
总结
- 对象式的
setState
是一种功能性的setState
简明的写作方式(语法糖) - 使用原则:
- 如果新状态不依赖于原始状态 ===> 使用对象方法
- 如果新状态依赖于原始状态 ===> 使用函数方法
- 如果需要,请参阅
setState()
在执行后获取最新的状态数据。, 名列第二callback
读入函数
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:JS怎么实现简易观察者模式 下一篇:什么是redux redux入门教程