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

对于复杂的数据类型,比如说数组或者对象,
在Vue之中可以使用:

data() {
    return {
        obj: dataObject
    }}method: {
    modify: function(newObj) {
        this.obj = newObj
    }}

但是react就要使用:

this.setState({    
    obj: Object.asign({}, oldObj, newObj)
})

Vue可以直接修改对象的引用,但是react不能够直接修改,而是要使用Object.asign的方式,请问底层的原因是什么?为什么这样呢?


POPMUISE
浏览 1410回答 3
3回答

HUH函数

不用object.assign也可以啊

慕斯709654

react分Component和PureComponent Component不用assign也可以 PureComponent不行 因为在shouldComponentUpdate做了浅比较 vue用了getter setter react没有
打开App,查看更多内容
随时随地看视频慕课网APP