React学习笔记(二)
1.关于setState同步异步问题
同步操作,异步行为
具体参考:https://juejin.cn/post/6992006476558499853
react执行setState时会将其放入一个执行队列。
主要原因是,在 React 的生命周期以及绑定的事件流中,所有的setState
操作会先缓存到一个队列中,在整个事件结束后或者 mount 流程结束后,才会取出之前缓存的 setState
队列进行一次计算,触发 state 更新。只要我们跳出 React 的事件流或者生命周期,就能打破 React 对 setState
的掌控。最简单的方法,就是把 setState
放到 setTimeout
的匿名函数中。