首页 > 解决方案 > 使用 useMemo 或 useCallback VS useRef 清空依赖项

问题描述

在这个GitHub 问题中,我基本上建议更改:

x = useCallback( ... , []);

至:

x = useRef( ... ).current;

两者是相同的,但useRefReact 不会比较依赖关系。

对此有一个问题的答复:

有没有一种情况,无依赖的 useMemo 或 useCallback 会比 useRef 更好?

我想不出一个,但我可能忽略了一些用例。

那么有人能想到这种情况吗?

标签: reactjsreact-functional-component

解决方案


每个 React Hooks API 文档:

请记住,当其内容发生变化时,useRef 不会通知您。 改变 .current 属性不会导致重新渲染...使用回调 ref 确保即使子组件稍后显示测量节点(例如响应单击),我们仍然会在父组件中收到有关它的通知组件并可以更新测量值。

您可以在此处此处阅读有关它的更多信息。


推荐阅读