首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
React Hook源码笔记
小豆腐拌葱
创建于2024-08-23
订阅专栏
React Hook 源码解析文章
等 2 人订阅
共16篇文章
创建于2024-08-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
React Hook源码笔记(十六):异步钩子-useDeferredValue
useDeferredValue 允许我们延迟渲染不紧急的部分,具体延迟多久不确定,与 useTransition 相同,不会阻塞用户操作。
React Hook源码笔记(十五):异步钩子-useTransition
React18 新增了 concurrent 渲染模式。useTransition 可以触发低优先级的任务,如果有高优先级任务进入,则会暂停
React Hook源码笔记(十四):性能钩子-useMemo
useMemo 是 Vue 中需要手动指定依赖的 computed useCallback 只能缓存函数,useMemo 可以缓存计算结果。
React Hook源码笔记(十三):性能钩子-useCallback
useCallback 一般用于缓存函数,它有两个参数: callback: 要缓存的函数 deps: 依赖数组 mountCallback
React Hook源码笔记(十二):性能钩子-memo
React 的更新过程中如果发现某个节点需要更新,React 会完全构建一棵新的子 Fiber 树替换原来的树结构,即使子节点其实不需要更新,memo 可以解决这个问题
React Hook源码笔记(十一):引用钩子-useId
useId 实现原理和 useRef 相同。 一个非常简单帮助我们生成唯一 `id` 并持续保有的钩子。
React Hook源码笔记(十):引用钩子-useImperativeHandle
useImperativeHandle 允许我们自定义 forwardRef 中向外暴露的 ref,它的函数声明为: ref: forwardRef 的第二个参数 init: 返回想暴露的方法的对象
React Hook源码笔记(九):引用钩子-useRef
useRef 的作用是保存一个不会被重新渲染的任意类型变量。通过 ref.current 可以获取该变量。 mountRef/updateRef useRef 的两个实现都很简单
React Hook源码笔记(八):订阅钩子-useSyncExternalStore
useSyncExternalStore 适用于订阅非 react 组件的外部状态的,它的使用方式如下: 三个参数分别为: subscribe: 订阅函数,返回一个取消订阅函数 getSnapshot
React Hook源码笔记(七):订阅钩子-useContext
useContext 并不是一个标准的钩子,他不会在 FiberNode 上创建 Hook 对象,同时他也不会直接导致Fiber树更新
React Hook源码笔记(六):副作用钩子-useInsertionEffect
useInsertionEffect 是用于解决动态注入 CSS-in-JS 生命周期问题的副作用钩子
React Hook源码笔记(五):副作用钩子-useLayoutEffect
useLayoutEffect 用于在 commit 阶段 DOM 挂载后执行副作用。此时可以获取完整的 DOM,但它会触发一个阻塞的同步任务。
React Hook源码笔记(四):副作用钩子-useEffect
useEffect 用于创建副作用,副作用既会存储在 hook 的 mermoizdState 属性中,也会存储在 Fiber 的 updateQueue 中等待执行
React Hook源码笔记(三):状态钩子-useReducer
useState 本质上是一个弱化版的 useReducer,useReducer 允许我们自定义 reducer 去处理传入的数据
React Hook源码笔记(二):状态钩子-useState
useState 实现原理,React 如何创建 Hook 对象,hook 的 mermoizedState 与 queue 属性
React Hook源码笔记(一):函数组件加载过程
React 函数组件加载过程,理解 FiberNode 的 updateQueue mermoizedState 属性