在 Redux 中使用多个异步调用设置初始状态
Set initial state with multiple async calls in Redux
我正在使用 React 和 Redux 开发一个应用程序,但我对设计产生了疑问。关键是当我启动应用程序时,我需要用几个 API 请求(我正在使用 fetch 和 redux-thunk)填充商店 returns 一些常量。这个常量将被多个组件使用,我无法将它们附加到特定组件,因为用户可能没有加载它并直接转到另一个不获取数据的组件......所以......处理这个问题的最佳方法是什么?在 Redux 中填充和 "initialState" 的最佳方式是什么?
此外,是否可以使用 fetch API 处理多个请求,就像我们对 $q all 所做的那样?
在您的根组件中,您可以在 componentDidMount 生命周期方法中进行 API 调用,用返回值填充状态。状态将在您应用的所有组件之间共享。
如果您希望进行调用的组件是无状态功能组件(因此没有生命周期方法),您可以按此处所示包装它:
https://egghead.io/lessons/javascript-redux-fetching-data-on-route-change
(该课程的其余部分涵盖异步调用和使用 thunk - 必看!)
我正在使用 React 和 Redux 开发一个应用程序,但我对设计产生了疑问。关键是当我启动应用程序时,我需要用几个 API 请求(我正在使用 fetch 和 redux-thunk)填充商店 returns 一些常量。这个常量将被多个组件使用,我无法将它们附加到特定组件,因为用户可能没有加载它并直接转到另一个不获取数据的组件......所以......处理这个问题的最佳方法是什么?在 Redux 中填充和 "initialState" 的最佳方式是什么? 此外,是否可以使用 fetch API 处理多个请求,就像我们对 $q all 所做的那样?
在您的根组件中,您可以在 componentDidMount 生命周期方法中进行 API 调用,用返回值填充状态。状态将在您应用的所有组件之间共享。
如果您希望进行调用的组件是无状态功能组件(因此没有生命周期方法),您可以按此处所示包装它:
https://egghead.io/lessons/javascript-redux-fetching-data-on-route-change
(该课程的其余部分涵盖异步调用和使用 thunk - 必看!)