我在开发者控制台中收到一条错误消息,提示与我的 useEffect()
相关的内存泄漏类型。该错误建议开发某种形式的“清理”功能,但我不确定为什么会首先发生这种情况或如何进行开发。我应该如何处理这个问题?我有问题的 useEffect()
函数如下:
useEffect(() => {
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
useEffect(() => {
if (!isFetching) return;
fetchMoreListItems();
}, [isFetching]);
useEffect(() => {
let mounted = true;
if (!props.resource) return;
props.resource
.follow('item-collection')
.followAll('item')
.then(resources => {
if (mounted) {
setItems(resources);
}
})
.catch(err => console.error('Error fetching resources: ' + err));
return () => mounted = false;
}, [itemResource]);