React中setState中的使用有一下几点注意事项:
1.React.setState更新数据是异步的,也就是并不会马上更新数据,而是在一次轮询之后将所有的State统一进行更改,这种方法可以减少DOM元素的重绘,但是也会造成一些问题
value:})
因为setState是异步的,所以console.log会先执行
并且所有代码执行完毕之后value为1,只加了一次,只会引发一次更新
正确的使用setState,不直接对State操作
要弥补这个问题,使用另一种 setState() 的形式,它接受一个函数而不是一个对象。这个函数将接收前一个状态作为第一个参数,应用更新时的 props 作为第二个参数:
我们在上面使用了一个箭头函数,但是也可以使用一个常规的函数:
领取专属 10元无门槛券
私享最新 技术干货