React/Redux 应用中网络请求的定位逻辑

Positioning logic for a network request in a React/Redux app

我有一个在页面上呈现项目的 React 组件。这些项目是从网络中检索的。

应在加载组件时检索和呈现这些项目。

组件加载后也会有更新项目的机制。

我的第一个想法是将网络请求放在 componentDidMount 函数中。

这样做会破坏与 redux 和单向数据相关的任何最佳实践吗flow/immutability?

相反,我应该向商店发送一个操作并依靠 redux 中间件来执行网络请求(然后最终会更改商店并导致组件重新呈现)吗?

如果您的数据是本地的,则在 componentWillMount 中执行,如果您的数据是全局的,则通过调用操作来执行。

所以基本上在 componentDidMountcomponentWillMount 中进行异步调用是相同的。最有可能的是,componentWillMount 中的异步调用不会在 componentDidMount 被触发之前 return。但是如果你在 componentDidMount.

中进行相同的调用,它会比 return 早

componentDidMount 中进行异步调用清楚地表明组件将首先在没有数据的情况下呈现,然后在数据到达时重新呈现,这在 componentWillMount.

中是隐含的