看了一下断点,顺序是16-30-21-30.也就是willmount之后render,load这个异步方法在任务队列中再执行,setState,diff,然后render为啥都说要在didmount里面ajax呢
1 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
无论是在willMounnt还是didMount触发异步请求,都会render两次。第一次是组件加载时,第二次是在异步请求返回setState时。
但是,逻辑应该是在显示组件,比如有加载状态,然后去触发请求。还有一个最重要的点,react fiber更新之后,他会多次触发willMounnt,如此会引起bug。所以,异步请求一般放在didMount。
添加回答
举报
0/150
提交
取消