反应使用效果,依赖列表不起作用



我确定我对此的理解是错误的。 我有以下组件

const Comp = () => {
const filter = 'a';
useEffect(() => {
console.log('executing effect');
loadFriends();
}, [filter]);

return (
<Div>
{friendsFilter}
</Div>
);
};

现在根据我的理解,由于对useEffect的依赖列表filter反应不应该在组件再次渲染时运行效果?但是它似乎运行它。 我在这里理解了什么吗?

如果只希望它运行一次,请使用空数组作为依赖项值,而不是"[filter]"。

好吧,我已经测试了您的用例,但它没有调用useEffect块。

这是我测试过的代码。

import React, { useEffect, useState } from "react";
const Comp = () => {
const [count, setCount] = useState(0);
const filter = "a";
useEffect(() => {
console.log("executing effect");
//loadFriends();
}, [filter]);
return (
<div>
Div
<button onClick={() => setCount(count + 1)}> Click me</button>
Count: {count}
</div>
);
};
export default Comp;

链接到代码沙箱 即使更改计数,组件也会重新渲染,但不调用 useEffect 块。

很可能loadFriends()发生了一些事情,正在更改过滤器的值。

在此处阅读有关使用效果的更多信息

相关内容

  • 没有找到相关文章

最新更新