老师能画个图或者用文字讲述一下 enqueueUpdate 这个函数吗?
来源:3-4 react-update-and-updateQueue
慕粉454255
2019-02-12
老师,我在看 enqueueUpdate 这个的时候,我感觉代码我能看懂,但是我不知道这些代码在做什么?为什么要有 queue1 、queue2,然后 queue1 和 queue2 是什么关系,很希望你像讲 fiber 是怎么联系起来的那样,画个图讲解一下是如果创建和更新 Update 的
写回答
1回答
-
你现在需要理解的呢其实不是`updateQueue`,而是`current`和`workInProgress`的概念,这个概念我是放在后面讲解`Suspense`的时候才深入讲解的,我不是很清楚你有没有看到哪里,如果你还没有看到的话不妨先留着问题,看后面的课程再回过头来理解。
而如果你已经看过后面的,那么我可以大致跟你解释一下,因为有`current`和`workInProgress`这个设计存在,前者代表目前的状态,后者代表当前更新的状态,而因为当前更新的状态在更新完成之后有可能会被抛弃(因为`error`或者`suspend`),所以如果他们引用的`updateQueue`是一样的,那么会造成被抛弃的更新影响了当前的状态的情况,所以React中就专门把他们使用两个不同的对象进行区分了。
152019-02-13
相似问题