【发布时间】:2021-10-22 06:09:36
【问题描述】:
我有这个问题的原因是我看不到 React 如何根据 prop 更改进行渲染。
在每条纤程上,beginWork 会渲染纤程,如果有任何状态更改,它将标记更改。如果没有,它可以bailoutOnAlreadyFinishedWork 克隆光纤。在执行此操作时,它reconcileChildren 以便我们知道下一个工作单元是什么。在reconcileChildren 期间,在我看来,每个元素的pendingProps 都是直接使用的。
问题是我看不到道具比较浅的时候。我只在React.memo 和shallowEqual 中看到我期望的代码,然后通过文档https://reactjs.org/docs/react-api.html#reactmemo 确认。
那么默认情况下不浅检查道具的地方是什么?这是否意味着只要有渲染,它就会携带道具作为新版本?
如果有人知道答案,谢谢。
【问题讨论】:
标签: javascript reactjs fibers