[react] 请说说什么是useRef?

Posted 前端小歌谣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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] 请说说什么是useRef?的主要内容,如果未能解决你的问题,请参考以下文章

[react] 请说说react中Portal是什么?

[react] 请说说什么是useReducer?

[react] 请说说什么是useEffect?

[react] 请说说什么是useState?为什么要使用useState?

useRef 是不是在 React 中存储变量的地址

React 钩子 useRef() 如何在幕后工作?那个参考到底是啥?