根据给出的代码,TwoLeveolInfo
函数会在第二个 useEffect
中执行两次的原因是 xxx
和 props.tabsTitle
都被作为依赖项传入了 useEffect
的依赖数组中。
当其中任何一个依赖项发生变化时,该 useEffect
都会重新执行。在这种情况下,当 xxx
或者 props.tabsTitle
发生变化时,都会触发 TwoLeveolInfo
函数的调用。
如果你希望只有其中一个依赖项变化时才调用一次 TwoLeveolInfo
函数,可以将另一个依赖项从依赖数组中移除。例如:
useEffect(() => {
// ...
}, [xxx]); // 只有 xxx 变化时才触发 useEffect
useEffect(() => {
// ...
}, [props.tabsTitle]); // 只有 props.tabsTitle 变化时才触发 useEffect
这样就可以避免重复调用函数。请根据你的实际需求进行调整。
内容由零声教学AI助手提供,问题来源于学员提问