【发布时间】:2021-01-27 09:07:27
【问题描述】:
我有一个问题,我应该为所有功能组件的所有function/ variable 声明应用useCallback/ useMemo。
据我所知, useCallback/ useMemo 使function/ variable 声明在组件更新后不再运行。这些函数/变量只有在它们的依赖关系发生变化时才会重新定义。它使 React 的渲染工作在重新定义未更改的内容上花费更少的精力。当这些对象发生变化时,它只是比较对象(函数/变量与 useCallback/useMemo 的依赖关系)。我认为比较工作比重新定义要快。
useCallback钩子使用示例:
const onOpenEnd = useCallback(() => {
if (BTSheetRef && BTSheetRef.current) BTSheetRef.current.open()
}, [BTSheetRef, BTSheetRef.current]);
我有什么误解吗?提前致谢。
【问题讨论】:
标签: reactjs react-native react-hooks