React.useCallback:我是否需要将依赖项数组中的函数与依赖项一起传递?



React 文档示例仅显示[a, b]作为依赖项。函数doSomething未传递。

const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);

但后来的文档写道:

回调中引用的每个值也应出现在依赖项数组中。

我的问题:我也需要通过doSomething吗?

const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b, doSomething],
);

从技术上讲,如果它不改变,它不是必需的,但它会带来意想不到的行为,所以为了简单起见,如果它是在组件中声明的或来自 props,你需要传递你在里面使用的所有东西。此外,如果您使用的是eslint,则钩子的插件很棒,这是事实上的标准

相关内容

  • 没有找到相关文章

最新更新