React18 源码解析之 useRef

React18 源码解析之 useRef

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

介绍React中的useRef() hook,可存储任何类型数据,不会引起组件重新渲染,源码实现简单。

🎯

关键要点

  • useRef() 是一个 hook,可以存储任何类型的数据。
  • useRef() 不会引起组件重新渲染,存储的数据在组件生命周期内有效。
  • useRef() 的内容修改立即生效,读写操作在 current 属性上进行。
  • useRef() 与 useState() 和全局变量的区别在于数据的生命周期和是否引起组件重新渲染。
  • useRef() 的源码实现简单,主要分为初始创建和更新两个阶段。
  • 在初始创建阶段,useRef() 将数据存储在 hook 节点的 memoizedState 中。
  • 在更新阶段,useRef() 直接返回 hook 节点上 memoizedState 属性的内容。
➡️

继续阅读