采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我在看 enqueueUpdate 这个的时候,我感觉代码我能看懂,但是我不知道这些代码在做什么?为什么要有 queue1 、queue2,然后 queue1 和 queue2 是什么关系,很希望你像讲 fiber 是怎么联系起来的那样,画个图讲解一下是如果创建和更新 Update 的
你现在需要理解的呢其实不是`updateQueue`,而是`current`和`workInProgress`的概念,这个概念我是放在后面讲解`Suspense`的时候才深入讲解的,我不是很清楚你有没有看到哪里,如果你还没有看到的话不妨先留着问题,看后面的课程再回过头来理解。
而如果你已经看过后面的,那么我可以大致跟你解释一下,因为有`current`和`workInProgress`这个设计存在,前者代表目前的状态,后者代表当前更新的状态,而因为当前更新的状态在更新完成之后有可能会被抛弃(因为`error`或者`suspend`),所以如果他们引用的`updateQueue`是一样的,那么会造成被抛弃的更新影响了当前的状态的情况,所以React中就专门把他们使用两个不同的对象进行区分了。
感谢老师,我现在还没有看到后面的 Suspense,第一章我都看了两三遍了,有些东西还是不是太明白。那我先把问题留着
是的,建议第一遍是通览,有一个全局的概念再去扣细节,因为本身我自己源码也是前后看了不下10遍才会发现很多细节的,这个过程肯定是需要的。
请问下老师,关于源码里那些乱七八糟的xxxxxxxtime是不是放到后面那个 ‘priority’章节讲呀?
登录后可查看更多问答,登录/注册
掌握React源码,让你的开发水平没有上限,更不惧前端未来的到来
1.4k 8
1.2k 7
1.1k 6
1.2k 6
1.0k 6