问题描述
我只想对整个应用进行一次api提取调用。
所以在app.js中使用useEffect钩子是个好主意,实际上是可行的。
请提出建议。
谢谢
解决方法
当然,您只需要在useEffect中使用一个空数组作为第二个参数即可。
export default function App() {
useEffect(() => {
**Your API call**
},[]);
return(**JSX you want to return**);
}
注意:每次安装App组件时,都会调用API。
,很难从写作中了解您想要实现的目标。如果您尝试获取运行该应用程序所需的某种主数据,则可以使用效果。请注意,它只能运行一次。
由于我个人更喜欢使用redux,并且我对这种模式非常熟悉,因此我将使用异步动作库(thunk,saga,observables等)使用动作来获取数据并初始化应用。您仍然可以在App.js中调用useEffect
来调度初始化操作,但是只有在状态中还没有数据的情况下才会触发请求。