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。但这与警告的原因没有太大关系。
该警告要求您将函数作为依赖项的原因与其他变量相同。 函数本身可能正在引用一些可能变得陈旧的变量。
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。但这与警告的原因没有太大关系。
该警告要求您将函数作为依赖项的原因与其他变量相同。 函数本身可能正在引用一些可能变得陈旧的变量。