首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
react
泡沫的快乐
创建于2021-08-22
订阅专栏
react
等 2 人订阅
共8篇文章
创建于2021-08-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ReactContext怎么实现的?如何更新使用Context的子组件的?
源码版本V17.3,不讨论lazyContext、observedBits(react官方已移除)、Suspend、并发context。
如何减少React render次数? 先了解fiber bailout逻辑!
render与bailout React创建fiber的逻辑render、bailout。 render:调用render函数(组件),返回JSX,与old fiber进行diff后创建fiber。
React触发更新及更新流程
更新逻辑 在Fiber上创建Update。 设置相关属性lane、eventTime、payload、callback。 函数:createUpdate->enqueueUpdate 通过Schedu
setState为什么有同步异步两种情况?从原理解释。
原理一句话简述:收集state,延迟更新应用。 在无法接管函数时,每次setState都会更新应用。 可以理解为,react能掌控的,则是"异步"(延迟更新),无法掌控,则是同步更新。
React 优先级 lane 与 更新
react中工作(遍历fiber,渲染dom),更新 `state` 都和优先级密切相关。 优先级由 `lane` 实现 ,调度工作 由 `Scheduler` 实现,2者优先级会互相转换。
React 源码解析,构建fiber到输出 DOM树流程。
react中的render和commit阶段。 从构建fiber树,到输出DOM树的流程,阶段执行相关工作,生命周期。
React 重构 Effect List
为了更好的支持新功能,修复bug。react团队将effectList重构。或者说删除了,换了遍历树的方式。
React Fiber 类型的结构
Fiber 需要注意的地方: 组件第一次运行时为 fibet mount阶段;后续更新为 fiber update阶段。 函数组件 mount 时 fibet.tag 为 IndeterminateC