reactjs - 是否可以在每个屏幕安装(导航)中获取数据 React-Native
问题描述
考虑一个实体: ,我有一个向用户Product
显示的页面。Products
在显示的页面Products
中,componentDidMount
我请求 API 并获取数据。现在只有一个名为的全局对象GlobalState
,或者Redux store
我将获取的数据保存在我的全局状态中。
然后在我的页面中,我使用全局状态(如前所述,Redux store
或者只是一个global object
)来显示数据。到目前为止,这是我的方法。
问题就在这里:每次我导航到页面componentDidMount
时都会被调用并发出 api 请求并再次填充全局状态。这个可以吗?如果是这样,将它们保存在全局状态有什么意义。我认为我一次又一次地做某事没用。
解决方案
@Amas,你的权利,bcoz componentDidMount组件,每次(即)在导航到该屏幕时运行。如果您需要更新全局变量值或状态,它的方法是可以的,除非不需要。
还尝试将 API 请求调用从componentDidMount
. 它会影响您的应用程序运行速度非常慢。建议创建新函数在此处粘贴 API 请求...
前任:
ComponentDidMount(){
this.apiReq();
}
apiReq(){
request code here....
}
推荐阅读
- ios - 如何记录视图加载所需的时间
- typescript - 在 Typescript 中,如何在初始化后将类型化值转换为文字值?
- javascript - VS 代码,没有使用 javascript 的自动完成功能 (discord.js)
- python - python - 如何以最有效的方式完成这个特殊的求和
- azure - 如何更改 Azure 中 VMSS 的分析工作区?
- python-3.x - Tkinter 按钮需要在同一个网格中创建多次,但不需要,我如何让它做到这一点?
- elasticsearch - 微服务:与多个实例的服务间通信
- swift - 修改swiftui数组值
- php - 正在使用 PHP 和 .htaccess 构建页面
- elasticsearch - 在 Elasticsearch 中对对象进行聚合