首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
React源码
订阅
Takkki
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
剖析 React 源码:调度原理
这是我的剖析 React 源码的第四篇文章,之前的文章都是具体剖析代码,但是觉得这种方式可能并不是太好。因此从这篇文章开始,我打算把在源码中学习到的内容单独写成一篇文章,这样对于读者来说可能更加的友好。 大家都知道 JS 和渲染引擎是一个互斥关系。如果 JS 在执行代码,那么渲…
动画浅析React事件系统和源码
本文通过对React事件系统和源码进行浅析,回答“为什么React需要自己实现一套事件系统?”和“React的事件系统是怎么运作起来的?”两个问题。React为了性能和复用,采用了事件代理,池,批量更新,跨浏览器和跨平台兼容等思想,将事件监听挂载在document上,构造合成事…
《React源码解析》系列完结!
距离第一篇《React源码解析(一)》已经过去将近4个月的时间,由于是我第一次进行源码解析相关的写作,思路和文笔还不够成熟。一百多天以来,我基于读者反馈反思这几篇文章中的不足,同时也在不断学习借鉴其他优秀作者的写作方法和写作思路。最终总结出对于自己的源码写作来说,需要改进的几点…
React Fiber源码分析 第一篇
这里我们知道是同步更新 即 expirationTime = 1. 紧接着调用了updateContainerAtExpirationTime
React源码分析 - 组件更新与事务
在React中,组件的更新本质上都是由setState操作改变state引起的。因此组件更新的入口在于setState,同样经过撸源码和打断点分析画了以下的组件更新的流程图: 这里需要注意enqueueUpdate中根据batchingStrategy.isBatchingUp…
React源码分析 - 事件机制
React的事件机制还是很好玩的,其中模拟事件传递和利用document委托大部分事件的想法比较有意思。 _updateDOMProperties是事件参数处理的入口,只要注意enqueuePutListener这个方法就好了,这是注册事件的入口函数。registrationN…
React源码解析(四):事件系统
在前面三篇文章中,我们阐述了react组件的构成与生命周期,setState的机制。这次我们来谈谈React的事件处理。 我们通常监听真实DOM。举🌰来说,我们想监听按钮的点击事件,那么我们在按钮DOM上绑定事件和对应的回调函数即可。 遗憾的是若页面复杂且事件处理频率高,那么…
React源码解析(三):详解事务与更新队列
在前两篇文章中,我们分析了React组件的实现,挂载以及生命周期的流程。在阅读源码的过程中,我们经常会看到诸如transaction和UpdateQueue这样的代码,这涉及到React中的两个概念:事务和更新队列。因为之前的文章对于这些我们一笔带过,所以本篇我们基于大家都再熟…
React源码解析(二):组件的类型与生命周期
在上一篇文章《React源码解析(一):组件的实现与挂载》中,我们阐述了React组件的实现和挂载。现在我们来一起探究组件的生命周期。 我们已经知道,只有在挂载流程开始后,才会触发组件的生命周期,生成ReactElement类型的js对象,通过解析组件对象内部所携带的信息,获得…
React Fiber
react在进行组件渲染时,从setState开始到渲染完成整个过程是同步的(“一气呵成”)。如果需要渲染的组件比较庞大,js执行会占据主线程时间较长,会导致页面响应度变差,使得react在动画、手势等应用中效果比较差。 为了解决这个问题,react团队经过两年的工作,重写了r…