React useEffect 缺少对函数的依赖?

React useEffect missing dependency for a function?

useEffect(() => {
    calculateTip();
  }, [bill, tipPercentage, numberOfPeople]);

  const calculateTip = () => {
    const tip = ((tipPercentage / 100) * bill).toFixed(2);
    const tipPerGroup = ((tipPercentage / 100) * bill * numberOfPeople).toFixed(
      2
    );
    setTipPerGroup(tipPerGroup);

    setTip(tip);
  };

我收到一个错误:

React Hook useEffect has a missing dependency: 'calculateTip'. Either include it or remove the dependency array

为什么 useEffect 需要在其依赖数组中有一个函数?我的意思是函数永远不会改变,它是相同的函数,为什么 React 强制我将它写在依赖数组中?

Why does useEffect need to have a function in its dependency array. I mean the function never changes . It is the same same function why does react force me to write it inside the dependency array?

如果该函数是在组件内部定义的,那么它就不是同一个函数,相反,它在每个渲染器上都是 re-created。但这与警告的原因没有太大关系。

该警告要求您将函数作为依赖项的原因与其他变量相同。 函数本身可能正在引用一些可能变得陈旧的变量