just-react
just-react copied to clipboard
「React技术揭秘」 一本自顶向下的React源码分析书
指数的显示
更新React放弃使用requestIdleCallback的原因
**如题,commit的before mutation阶段,源码分为commitBeforeMutationEffects_begin,commitBeforeMutationEffects_complete,使用subtree的方式进行遍历。除此之外,flushPassiveEffects的遍历方式也有一定变化,大佬有时间可否更新下?** ``` function commitBeforeMutationEffects_begin() { while (nextEffect !== null) { var fiber = nextEffect; // TODO: Should wrap this in flags check, too, as optimization var deletions = fiber.deletions;...
```JavaScript // 环状单向链表操作 if (queue.pending === null) { update.next = update; } else { update.next = queue.pending.next; queue.pending.next = update; } queue.pending = update; ```` 既然queue.pending保存着上个update,next指向自己,是否也可写为 ```JavaScript ... } else...
> 在`commit`阶段结尾会再调度一次更新。在该次更新中会基于`baseState`中`firstBaseUpdate`保存的`u1`,开启一次新的`render阶段`。 baseState -> baseUpdate
这样打印出来后,方便地铁上看,还能用笔做记录
卡卡颂老师
用你在码云上打包,yarn link到创建项目里之后 跑起来就报各种依赖找不到为啥啊。。。
每次看例子都要打开公众号输入好麻烦啊,至于每个例子都输入一遍口令吗,作者对自己的公众号这么没有信心吗
如题, 按照[多节点二次遍历](https://react.iamkasong.com/diff/multi.html#%E6%A6%82%E8%A7%88)的讲解思路,这里好像只介绍了第两次遍历后,old/new都没遍历完的情况中默认节点一一对应只是位置变化,但对于新节点的key完全变成新的(此种情况也会触发立即跳出第一次遍历,且在文档中介绍的第二次遍历中符合第四种情况【newChildren与oldFiber都没遍历完】),但此时,在oldMap中一个newFiber也找不存在,此种更新节点场景没有介绍