优美编程

React的setState和数据绑定

2019-02-15  本文已影响3人  小遁哥

codepen地址
https://codepen.io/xiaodun/pen/MLPbym?editors=0010

this.setState({})

上述调用会触发render函数,

1.这意味着即使不在state上的数据,只要发生变化也可以更新模板。

 addOutList=()=>{
    list.push(1);
    this.setState({})
  }

上面的list是声明在类外部的,对应的模板代码为

    {
        list.map((el,index)=><div>外面list {index}</div>    )
    }

2.可以直接更改state上的数据,然后调用setState即可。

通过测试发现,即使setState方法里指明具体的属性,还是会同步更新已经变化了的,证明不会有性能问题。

addInnerList=()=>{
  this.state.list.push(1);
  this.setState({
    name:13
  })
}

改变list的引用依然会更新。

总结

至于会不会有其他问题,暂时没有发现,因为看到的写法都是指明具体要更新的属性。

上一篇 下一篇

猜你喜欢

热点阅读