Reactjs 创建react应用程序:useEffect挂钩依赖项警告
我总是使用来自的react代码库 另外,我知道在useffect中使用Reactjs 创建react应用程序:useEffect挂钩依赖项警告,reactjs,react-hooks,Reactjs,React Hooks,我总是使用来自的react代码库 另外,我知道在useffect中使用//eslint禁用下一行react hooks/deps可以抑制警告 我想知道正确的方法。我的问题是:- 是否有必要在[]中包含所有“text”、“dispatch”和“_someFunction”,以便我可以遵守“创建基于应用程序的控制台”警告,或 我将只包括要检测的因素,即触发使用效果的“文本”。为了抑制CD/CI成功的警告,我可以应用//eslint禁用下一行react hooks/deps以排除其他不需要的依赖项,例
//eslint禁用下一行react hooks/deps
可以抑制警告
我想知道正确的方法。我的问题是:-
//eslint禁用下一行react hooks/deps
以排除其他不需要的依赖项,例如“dispatch”、“someFunction”如果有警告,那是有原因的!如果所需要的东西使你无法达到你所需要的,你只是使用了一个错误的模式 你并不总是需要钩子 为什么不在两者之间增加一个函数来避免使用效果呢
const onChange=(value)=>{
setText(value);
dispatch(actionA(dataA));
_someFunction();
}
useEffect用于在必要时更新整个组件
但是我想用钩子!
好的,你能做到!重要的是,不要使用普通函数作为第一个参数,而是使用钩子。
您所做的将是:
useffect(()=>{
日志(“文本:”,文本);
},[正文];
const dispatchCallback=useCallback(()=>{
调度(行动A(数据A));
},[actionA,dataA]);
useEffect(dispatchCallback,[text]);
useffect(_someFunction,[text])代码>不抑制警告
如果有警告,那是有原因的!如果所需要的东西使你无法达到你所需要的,你只是使用了一个错误的模式
你并不总是需要钩子
为什么不在两者之间增加一个函数来避免使用效果呢
const onChange=(value)=>{
setText(value);
dispatch(actionA(dataA));
_someFunction();
}
useEffect用于在必要时更新整个组件
但是我想用钩子!
好的,你能做到!重要的是,不要使用普通函数作为第一个参数,而是使用钩子。
您所做的将是:
useffect(()=>{
日志(“文本:”,文本);
},[正文];
const dispatchCallback=useCallback(()=>{
调度(行动A(数据A));
},[actionA,dataA]);
useEffect(dispatchCallback,[text]);
useffect(_someFunction,[text])代码>如果有警告,那是有原因的->我非常同意这一点。特别是它是由CreateReact应用程序提供的。如果有警告,那是有原因的->我非常同意这一点。特别是由CreateReact应用程序提供。
const onChange=(value)=>{
setText(value);
dispatch(actionA(dataA));
_someFunction();
}