React Refs 深度解析:为什么你的组件像个“哑巴”,而 Ref 却是个“忍者”? 大家好,欢迎来到今天的 React 内部机制深度解剖课。我是你们的老朋友,那个总是试图在代码里找 Bug 的“资深专家”。 今天我们不聊业务逻辑,不聊组件拆分,我们要聊聊 React 里最神秘、最像“黑魔法”的 Hook —— useRef。 你是不是经常遇到这种情况:你想要一个变量,它得记着上次的状态,但是你又不希望它让 React 疯了一样地重新渲染整个屏幕?于是你祭出了 useRef。然后你发现,你修改了 ref.current,UI 却纹丝不动。你挠了挠头,心想:“这玩意儿是不是坏了?” 不,它没坏,它只是个“哑巴”。而 useState 才是个“话痨”。 今天,我们就来扒开 React 的裤裆(比喻),看看 useRef 到底藏在哪里,为什么它修改了数据却像没修改一样,以及它在 Fiber 节点里到底长什么样。 第一章:State vs Ref —— 婚姻的隐喻 在讲 Fiber 之前,我们得先搞清楚这两个家伙的关系。这就像婚姻。 useState 是个多愁善感的妻子。 当你修改它的值时 …
继续阅读“React useRef 机制:为什么 ref.current 的修改不会触发组件重渲染?它在 Fiber 节点中是如何存储的?”