首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
React
Aaaaaaaaaaayou
创建于2021-06-27
订阅专栏
关于 React 的一些知识
等 6 人订阅
共20篇文章
创建于2021-06-27
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
React 之 transition
本文通过一个例子引出了 React Transition 的使用场景,并分析了其实现原理,最后对比了其与 debounce 的差异。
React Native 按需加载实战(一)
当 React Native 应用变得很庞大了以后,一次性下载所有 JS 代码往往耗时很长,这时我们可能会想到可以通过按需加载来进行优化。而按需加载的首要任务就是对代码进行拆分,本文会举例说明。
React SSR Stream Rendering & Suspense for Data Fetching
本文介绍 React SSR Stream Rendering 并结合 Suspense 做 Data Fetching 的开发方式,达到在保证比较好的用户体验同时代码也能易于维护
React SSR 之监控
SSR 服务成功上线后并不就是万事大吉,建立一套完善的服务监控系统也是非常重要。本文介绍如何通过 promethus 来对 SSR 服务进行监控。
React SSR 之 Streaming Render & Selective Hydration
本文通过几个例子简单介绍流式渲染(Streaming Render)和选择性注水(Selective Hydration)所要解决的问题。
React Native 按需加载实战(二)
上一篇文章介绍了如何对 React Native 项目的 JS 文件进行拆包,这次我们仍然用一个例子来演示如何按需加载拆包后的各文件。
React 之 Suspense
本文通过例子介绍了 Suspense 提出的背景、使用场景(数据获取、Lazy Component)以及实现原理
React SSR 之限流
React SSR 毕竟涉及到了服务端,有很多服务端特有的问题需要考虑,而限流就是其中之一。本文会通过一个简单的案例来说明为什么服务端需要进行限流,并介绍一种限流算法。
浅析 React Server Component
本文通过例子浅析了 React Server Component 的实习原理,并将其与 SSR 进行了对比
React 源码解读之首次渲染流程(含例子)
这里首先调用 prepareFreshStack(root, expirationTime),这一句主要是通过 root.current 来创建 workInProgress。调用后,数据结构成了这样: beginWork,传入当前 Fiber 节点,创建子 Fiber 节点。…
通过例子来理解 React 的事件系统
我们先来看几个题目,如果你都能很确定的说出结果,那么这篇文章就不用看了。 事件委托。React 利用了事件委托,将事件都绑定在 document 之上。 DOM 事件模型。分成捕获、目标、冒泡阶段。 如下所示,我们想监听 li 标签上的点击事件,但是我们不把事件绑定在 li 上…
React 源码解读之 Concurrent 模式(一)
为了提升用户体验,React 团队提出了 Concurrent 模式。Concurrent 模式可以在应用更新的同时保持浏览器对用户的响应,并根据用户的设备性能和网速进行适当的调整。我们通过一个例子来看看 Legacy 模式和 Concurrent 模式之间的区别: 例子中的页…
React 源码解读之 Concurrent 模式(更新插队)
上篇讲述了 Concurrent 模式中关于时间切片的实现方式,本文来讲讲 Concurrent 模式中另外一个特性:更新插队。我们先来看一个例子: 我们的页面中渲染了一个按钮以及 4000 个 Item 函数组件,每个函数组件中添加了一段比较耗时的循环语句。useEffect…
React 源码解析之协调过程(一)
在React 源码解读之首次渲染流程中我们讲到了 React 在首次渲染过程(其实更新过程也一样)中存在 Render 和 Commit 两大阶段,其中 Render 阶段又可称为协调阶段,它包括 beginWork 和 completeWork,本文着重讲讲 beginWor…
React 源码解析之协调过程(二)
上篇文章介绍了 React 协调过程中 beginWork 阶段的前半部分,这篇文章我们来介绍后半部分。 首先会通过 workInProgress.tag 来判断当前处理的 FiberNode 是哪种类型,并针对不同的类型调用不同的 update 方法。这些方法虽然名字差别很大…
React 源码解读之 Automatic Batching
React 团队给出了 React 18 版本的计划,其中提到了一个优化:Automatic Batching。本文是对该优化的一个讨论。
React 源码解读之 Hooks
答案:不能,永远都渲染 1。 如下图所示,hooks 之间会形成一个链表并保持在 FiberNode 的 memoizedState 属性之上,链表通过游标 currentHook 或 workInProgressHook 来进行遍历。我们知道 React 更新的时候会存在两棵…
React 源码解读之 Custom Renderer
从React的渲染流程我们知道,JSX 会先转为一颗 Fiber Tree,然后通过 Renderer 渲染成页面。对于 Web 平台,这个 Renderer 就是 react-dom,对于 Native 平台,这个 Renderer 就是 react-native。当然,我们…
React 远程动态组件实践
本文介绍了一种实现远程动态组件的方法,该方法核心思想是通过网络请求得到组件代码并使用 Function 来运行,最后解析得到导出的模块
实现一个简单的 React Native
上一次,我们成功的把 React 应用渲染到了 Canvas 上面。今天我们野心更大一点,来实现一个简单的 React Native,我们叫他 Extremely Tiny React Nati