Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用react钩子,在useCallback的情况下显示缺少的依赖项_Reactjs_React Hooks_Usecallback - Fatal编程技术网

Reactjs 使用react钩子,在useCallback的情况下显示缺少的依赖项

Reactjs 使用react钩子,在useCallback的情况下显示缺少的依赖项,reactjs,react-hooks,usecallback,Reactjs,React Hooks,Usecallback,我正在学习ReactJs中的钩子,并坚持使用一些警告,如依赖项。 在这里,我在其中使用useCallback。还有一个问题,你能告诉我在未来的项目中,我需要使用useCallback和useMemo的真实情况吗。意思是,我应该何时使用useMemo以及何时使用useCallback。谢谢。您需要提供一个依赖项数组作为第二个参数。请参阅 作为代码示例 const memoizedCallback=useCallback( () => { 剂量测定法(a,b); }, [a,b], ); 请注意u

我正在学习ReactJs中的钩子,并坚持使用一些警告,如依赖项。
在这里,我在其中使用useCallback。还有一个问题,你能告诉我在未来的项目中,我需要使用useCallback和useMemo的真实情况吗。意思是,我应该何时使用useMemo以及何时使用useCallback。谢谢。

您需要提供一个依赖项数组作为第二个参数。请参阅

作为代码示例

const memoizedCallback=useCallback(
() => {
剂量测定法(a,b);
},
[a,b],
);
请注意useCallback的第二个参数,依赖项数组


通常,
usemo
用于记忆值,按照惯例,
useCallback
用于记忆函数。它们非常相似。

Hey@Julian谢谢你的回答,我已经得到了依赖数组的解决方案,但主要的问题是,我什么时候需要记忆任何值或函数?你能详细说明什么条件吗?基本上,条件是它是函数还是值。它仍然有点自以为是。如果我想在中用useMemo替换useCallback,比如替换这个-
const increment=useCallback(()=>setC(c=>c+delta),[delta])
const increment=useMemo(()=>setC(c=>c+delta),[delta])
那么它就不能正常工作。在依赖关系数组中,我写了
delta
,它是一个值而不是一个函数。你在吗@JulianI,你想添加一个函数吗。尝试
const increment=useCallback(()=>()=>setC(c=>c+delta),[delta])