千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

读了React中的setState让我联想到了其他问题 比如:
1.对React中的setState的理解?
etState这个方法在调用的时候是同步的,但是引起React的状态更新是异步的 【React状态更新是异步的】。
setState第一个参数可以是一个对象,或者是一个函数,而第二个参数是一个回调函数。
2.setState第二个参数的作用?
因为setState是一个异步的过程,所以说执行完setState之后不能立刻更改state里面的值。如果需要对state数据更改监听,setState提供第二个参数,就是用来监听state里面数据的更改,当数据更改完成,调用回调函数,用于可以实时的获取到更新之后的数据
3.为什么setState设计为异步的?
· setState设计为异步,可以显著的提升性能:如果每次调用setState都进行一次更新,那么意味着render函数会被频繁调用,界面重新渲染,这样效率是很低的;最好的办法应该是获取到多个更新,之后进行批量更新;
· 如果同步更新了state,但是还没有执行render函数,而且peops依赖于state中的数据,那么state和props不能保持同步;pstate和props不能保持一致性,会在开发中产生很多的问题;