是否可以在每个屏幕安装(导航)中获取数据 反应原生.



考虑一个实体:Product,我有一个向用户显示Products的页面。

在显示ProductscomponentDidMount的页面中,我使 API 重新获取数据。 现在只有一个名为GlobalStateRedux store的全局对象,我将获取的数据保存在我的全局状态中。

然后在我的页面中,我使用全局状态(如前所述Redux store或只是一个global object(来显示数据。 到目前为止,这是我的方法。

问题就在这里:每次我导航到被调用componentDidMount页面并发出 API 请求并再次填充全局状态时。 可以吗? 如果是这样,将它们保存在全局状态有什么意义。 我认为我一次又一次地做无用的事情。

@Amas,你的右边,因为componentDidMount组件每次(即(在导航到该屏幕时运行。 如果您需要更新全局变量值或状态,除非不需要,否则该方法是可以的。

还尝试更改componentDidMount的 API 请求调用。 它会影响您的应用程序运行非常慢。 建议创建新函数 将 API 请求粘贴到此处...

前任:

ComponentDidMount(){ 
this.apiReq();
} 

apiReq(){
request code here....
}

最新更新