[react] React为什么不要直接修改state?如果想修改怎么做?
有时表现出异步,有时表现出同步
1:在合成事件和钩子函数当中是异步的,在原生事件和setTimeout当中是同步的
2:异步并不是说内部是由异步代码组成,本身的执行过程和代码都是同步的,只是合成事件和钩子函数的调用在更新之前,导致拿不到数据形成所谓的异步,可以通过setState的第二个参数(是个回调函数,拿到更新数据)
3:批量优化也是建立在异步上面,在原生事件和定时事件中不会批量更新,
4:合成事件(就是我们给那些元素绑定点击事件等等都属于合成事件)
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题