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

为什么 vue 可以直接对 data 进行赋值, 但是react不能够修改state的变量?

为什么 vue 可以直接对 data 进行赋值, 但是react不能够修改state的变量?

POPMUISE 2018-07-06 17:18:10
对于复杂的数据类型,比如说数组或者对象,在Vue之中可以使用:data() {     return {         obj: dataObject     }}method: {     modify: function(newObj) {         this.obj = newObj     }}但是react就要使用:this.setState({         obj: Object.asign({}, oldObj, newObj) })Vue可以直接修改对象的引用,但是react不能够直接修改,而是要使用Object.asign的方式,请问底层的原因是什么?为什么这样呢?
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

不用object.assign也可以啊

查看完整回答
反对 回复 2018-07-13
?
慕斯709654

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

react分Component和PureComponent Component不用assign也可以 PureComponent不行 因为在shouldComponentUpdate做了浅比较 vue用了getter setter react没有

查看完整回答
反对 回复 2018-07-13
  • 3 回答
  • 0 关注
  • 1400 浏览

添加回答

举报

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