这是一个面试问题(在网上某处看到),已经进行了研究,但并未真正找到答案。
如何在重新渲染组件时防止重新获取数据?我的意思不是将其限制为仅获取一次(我可以通过在构造函数内发出请求来做到)。
此外,我发现的唯一一件事就是快速提到了使用外部(对react app)api。我不明白这意味着什么,以及这如何防止数据被重新提取。
非常感谢!
答案 0 :(得分:3)
说,您只想在挂载组件(第一次创建并插入DOM)时执行功能fetchData
,而在重新渲染组件时不执行。
然后您可以使用:
在课堂中的组件:
componentDidMount() {
fetchData();
}
在带有挂钩的功能组件中:
useEffect(fetchData, []);
第二个参数将监视传递给数组的状态的更改。传递空数组将模拟componentDidMount