Reactjs useRef和callbackRef之间的差异(React Hooks)
我阅读了React的文档,他们提到: 如果要在React附加或分离对的引用时运行某些代码 对于DOM节点,您可能希望改用回调引用 为了测量DOM节点的位置或大小,可以使用 回拨参考 但是,我仍然不明白使用useRef和callbackRef之间的区别,有人能提供更好的解释吗 例如,如果useRef和callbackRef不同,为什么以下两个代码具有相同的结果 useRef:Reactjs useRef和callbackRef之间的差异(React Hooks),reactjs,react-hooks,Reactjs,React Hooks,我阅读了React的文档,他们提到: 如果要在React附加或分离对的引用时运行某些代码 对于DOM节点,您可能希望改用回调引用 为了测量DOM节点的位置或大小,可以使用 回拨参考 但是,我仍然不明白使用useRef和callbackRef之间的区别,有人能提供更好的解释吗 例如,如果useRef和callbackRef不同,为什么以下两个代码具有相同的结果 useRef: const h1Ref = React.useRef(null) React.useEffect(() =>
const h1Ref = React.useRef(null)
React.useEffect(() => {
setHeight(h1Ref.current.getBoundingClientRect().height);
},[])
回调参考:
const measuredRef = useCallback(node => {
if (node !== null) {
setHeight(node.getBoundingClientRect().height);
}
}, []);
这是一个沙箱
useCallback
向您返回已记忆的函数引用,在您的示例中,您将其存储在measuredRef
中,但在您的代码中,您并没有使用它做任何事情,所以您怎么会认为两者都在做相同的事情呢?useCallback
向您返回已记忆的函数引用,在您的示例中,您将其存储在measuredRef
中,但在您的代码中,您没有使用它做任何事情,那么是什么让您认为两者都在做相同的事情呢?