React Hooks详尽的DEPS规则还需要在使用效果数组中的功能



所以我有以下效果

  useEffect(() => {
    if (disabled) {
      setAnimatedValue(0);
    } else {
      setAnimatedValue(1);
    }
  }, [disabled]);

如果disabled Prop更改,则只需将按钮动画按钮启用或禁用状态。

我还将以下规则添加到我的eslint config

  'react-hooks/exhaustive-deps': 'warn',

现在,我要警告setAnimatedValue需要与disabled Prop一起添加到我的useEffect数组中,但它只是一个既不是状态也不是道具的函数,因此它不应真正进入那里我明白。

有没有办法以某种方式使此规则仅在我缺少 stateprop值时警告?

如果您的setAnimation函数不依赖外部状态或道具,则可以安全省略。

即。如果setAnimation唯一需要执行其效果的是传递给它的0/1值 - 那么它可以安全省略。

它可能是一个设置器功能,因此您的安全。

https://reactjs.org/docs/hooks-faq.html#is-it-safe-safe-to-mit-functions-from-the-list-the-list-t-list of-tecendencies

相关内容

  • 没有找到相关文章

最新更新