react
文章平均质量分 75
墨客的全栈之路
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
React before mutation阶段
commit阶段分为三个部分before mutation阶段mutation阶段layout阶段主要都是在commitRootImpl函数内进行调用commitRootImpl这里只展示调用before mutation阶段的代码if (firstEffect !== null) { // 保存之前的优先级,以同步优先级执行,执行完毕后恢复之前优先级 const previousLanePriority = getCurrentUpdateLanePriority(); se原创 2022-04-10 20:52:24 · 791 阅读 · 0 评论 -
React commit阶段解析-前置学习
在renderRootSync执行完render相关阶段后,就会进入commit阶段。performSyncWorkOnRoot函数执行的末尾调用commitRoot(root);commit阶段工作在 rootFiber.firstEffect 上保存了一条需要执行副作用的 Fiber 节点的单向链表effectList,这些 Fiber 节点的 updateQueue 中保存了变化的 props。这些副作用对应的 DOM 操作在commit 阶段执行。除此之外,一些生命周期钩子(比如 com原创 2021-10-23 20:25:20 · 241 阅读 · 0 评论 -
React render阶段解析三-completeWork流程
这次是接着上一期render阶段的文章,解析挂载时render阶段的"归"阶段----completeWork函数completeWork开始阶段在performUnitOfWork中执行完beginWork,就会进入下面判断 if (next === null) { // workInProgress已经不存在子树,就开始进行"归"阶段 completeUnitOfWork(unitOfWork); } else { // next是beginWork调用后的返回值w原创 2021-10-16 21:02:13 · 399 阅读 · 0 评论 -
React render阶段解析一
今天来讲一下render函数到render阶段的流程,render阶段和render函数不是同一个东西哦!render阶段是react Fiber节点创建的阶段,也是我们diff算法执行的主要阶段。render函数是挂载和渲染jsx节点的入口函数。scheduleUpdateOnFiberscheduleUpdateOnFiber函数从执行栈来看是在updateContainer函数中调用,主要是处理优先级和挂载更新节点function scheduleUpdateOnFiber( fibe原创 2021-09-25 21:38:10 · 480 阅读 · 0 评论 -
combineReducers解读
当使用多个模块的时候,可以使用combineReducers函数实现最终合并//使用let reducer = combineReducers({ menu, login});具体写在注释上面function combineReducers(reducers) { //reducerKeys 把reducer对象的属性名,并生成数组 var reducerKeys = Object.keys(reducers); var finalReducers = {};原创 2020-08-12 23:35:42 · 302 阅读 · 0 评论 -
Redux源码createStore解读常用方法
Redux源码createStore解读传入参数getStatedispatch派发行为传入参数reducer,reducer行为函数preloadedState,初始化state数据enhancer,使用(中间件等),不常用const store = createStore(reducer, [preloadedState], enhancer);getState直接返回当前currentState,获取state值,@return state(我觉得应该深克隆一个新的对象返回,不然有原创 2020-08-10 13:42:15 · 356 阅读 · 0 评论
分享