创建ref引用的另一种选择
在函数组件中,我们常常使用 useRef 来引用 dom 节点,但大家可能不知道用 useState
也可以获取到 dom
节点,而且这个方法在某些情况比 useRef
更加方便、简洁。
在以下案例中我们可以看到当我们删除或添加节点时,useEffect
中都会正确打印 ref
的引用
问:在什么场景下我们会用 useState
来引用 dom 呢?
答:有时你可能需要检测 dom 的变化,这时将 ref
作为 useEffect
的依赖项这会很有用。
当然在绝大多数情况下你都应使用 useRef,用 useState
会导致多一次的 rerender
, 性能开销自然也就更多