[react] 请说说什么是useRef?

[react] 请说说什么是useRef?

本质上 createRef 和 useRef(mountRef) 就是创建一个 {current: initialState} 对象然后返回

useRef 本身经历两个阶段:mountRef 和 updateRef,updateRef 就是把 memoziedState(上面创建的对象)返回。

在 reconciler 阶段,如果有 ref 绑定,会打一个 efftag:Ref

// 位操作标明有 ref 的变更标志位
function markRef(workInProgress: Fiber) {
  workInProgress.effectTag |= Ref;
}

在 commit 阶段,会通过判断是否存在 Ref 的副作用进行对应的处理,class component 返回类实例,而 DOM 则返回 DOM

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论











主目录

与歌谣一起通关前端面试题

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...