为了账号安全,请及时绑定邮箱和手机立即绑定

vue、angular2及以上、react分别是如何实现数据(状态)发生change的?

vue、angular2及以上、react分别是如何实现数据(状态)发生change的?

莫回无 2019-01-29 23:26:35
vue我是知道的,通过Object.defineProperty来实现data的change其他的是如何实现的?烦请大神说的详细写,这里谢过
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

react通过this.state来访问state,通过this.setState来更新state,最简单的情况是这种:

constructor(){


super(),

this.state = {

    value: 0

}

},

componentDidMount(){


this.setState({

    value : this.state.value + 1

})

}

初始化的时候设定state,需要更新的时候调用setState方法改变state的状态


关于setState的运行机制说起来还挺复杂了,简单点说就是setState通过一个队列机制来实现state的更新,react源码中setState是将所有需要更新的state放入一个状态队列中,最后集中做状态更新。


查看完整回答
反对 回复 2019-01-30
  • 1 回答
  • 0 关注
  • 440 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信