updateQueue

来源:3-3 react-fiber

慕容8736893

2019-04-11

老师您好,在您3-3章节中有一个地方我不是很理解就是这个fibernode里的updateQueue,
图片描述
在react里最后应该是每一个节点都有一个自己对应的fibernode对象,然后都有一个对应的updateQueue,updateQueue里面保留的是一个state的队列后期用于更新状态。但是调用this.setState是一个组件级的调用方式他可能会更新这个组件里的任意一个fibernode的状态,我的疑问就是react会把所有的新的state队列存储到这个组件下的所有的fibernode的updateQueue里面吗?

写回答

1回答

Jokcy

2019-04-12

不是,只会存在发起setState的组件里面。简单来说,只有Class组件和使用Hooks的函数组件对应的Fiber对象updateQueue有用,其他节点是没用的。将来React会对Fiber对象的类型进行区分,对于一些属性在没有必要的节点上就不存在了。

0
1
慕容8736893
非常感谢!
2019-04-19
共1条回复

React源码深度解析 高级前端工程师必备技能

掌握React源码,让你的开发水平没有上限,更不惧前端未来的到来

1749 学习 · 336 问题

查看课程