React 文档示例仅显示[a, b]
作为依赖项。函数doSomething
未传递。
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
但后来的文档写道:
回调中引用的每个值也应出现在依赖项数组中。
我的问题:我也需要通过doSomething
吗?
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b, doSomething],
);
从技术上讲,如果它不改变,它不是必需的,但它会带来意想不到的行为,所以为了简单起见,如果它是在组件中声明的或来自 props,你需要传递你在里面使用的所有东西。此外,如果您使用的是eslint,则钩子的插件很棒,这是事实上的标准