我只想为整个应用程序调用一次fetch-api。
那么在app.js中使用useEffect钩子是个好主意吗?实际上可以这样做吗?
请提出建议。
感谢
当然,您只需要有一个空数组作为useEffect中的第二个参数。
export default function App() {
useEffect(() => {
**Your API call**
}, []);
return(**JSX you want to return**);
}
注意:每次安装应用程序组件时,都会调用API。
很难理解您试图从所写的内容中实现什么。如果你试图获得运行应用程序所需的某种主数据,你肯定可以使用效果。不过要注意它只运行一次。
由于我个人更喜欢使用redux,并且我非常熟悉这种模式,我会使用一个动作来获取数据并初始化应用程序,使用异步动作库(thunk、saga、observables等(。你仍然会在app.js中调用useEffect
来调度初始化动作,但只有当数据还没有出现在状态中时才会触发请求。