Reactjs 创建react应用程序:useEffect挂钩依赖项警告

Reactjs 创建react应用程序:useEffect挂钩依赖项警告,reactjs,react-hooks,Reactjs,React Hooks,我总是使用来自的react代码库 另外,我知道在useffect中使用//eslint禁用下一行react hooks/deps可以抑制警告 我想知道正确的方法。我的问题是:- 是否有必要在[]中包含所有“text”、“dispatch”和“_someFunction”,以便我可以遵守“创建基于应用程序的控制台”警告,或 我将只包括要检测的因素,即触发使用效果的“文本”。为了抑制CD/CI成功的警告,我可以应用//eslint禁用下一行react hooks/deps以排除其他不需要的依赖项,例

我总是使用来自的react代码库

另外,我知道在useffect中使用
//eslint禁用下一行react hooks/deps
可以抑制警告

我想知道正确的方法。我的问题是:-

  • 是否有必要在[]中包含所有“text”、“dispatch”和“_someFunction”,以便我可以遵守“创建基于应用程序的控制台”警告,或
  • 我将只包括要检测的因素,即触发使用效果的“文本”。为了抑制CD/CI成功的警告,我可以应用
    //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();
    }