【发布时间】:2018-10-23 05:56:07
【问题描述】:
当我的 react-native 应用程序启动时,我无法初始化我的 redux 状态。我需要在应用程序启动之前进行 api 调用以检索数据以补充我的状态。我想将此调用的结果传递给我的 Provider JSX 元素中的 createStore 函数。 我已经阅读了有关如何执行此操作的不同内容,但它们似乎都不起作用。
这是我的根 App 组件:
import React, { Component } from 'react';
import { View } from 'react-native';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import ReduxThunk from 'redux-thunk';
import reducers from './reducers';
import RouterComponent from './Router';
class App extends Component {
render() {
return (
<Provider store={createStore(reducers, {}, applyMiddleware(ReduxThunk))}>
<View style={{ flex: 1 }}>
<RouterComponent />
</View>
</Provider>
);
}
}
export default App;
我已经阅读并尝试了不同的策略: - 将render方法的return语句包装在api调用的then回调中 - 在 componentWillMount 或 componentDidMount 中调用
这些都不适合我。当 react-native 应用程序启动时,从 API 调用传递 createStore 初始状态的标准方法是什么。
【问题讨论】:
-
当您拨打
componentDidMount时会发生什么?
标签: react-native redux react-redux redux-thunk