[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

个人简介

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











主目录

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

上一篇:vue 快速学习所有知识或复习笔记


下一篇:实现一个复制input框中文本内容的功能