当存储首次初始化时,我试图从异步存储中加载所有类似用户对象的异步数据。但是我不知道该怎么做。我得到了创建一个中间件来执行此操作的建议之一,但我不知道如何做。
当前商店及其在应用中的初始化
const store = createStore(rootReducer, {}, applyMiddleware(ReduxThunk,
//actionCallbackOnceMiddleware(INITIAL_AJAX_END, AppSafeAreaProvider)
))
const AppSafeAreaProvider = () => {
return <Provider store={store}>
<PaperProvider>
<SafeAreaProvider>
<App />
</SafeAreaProvider>
</PaperProvider>
</Provider>
}
AppRegistry.registerComponent(appName, () => AppSafeAreaProvider);
答案 0 :(得分:0)
您不需要全局默认状态,因为reduces在redux上已经具有默认状态参数
例如
const someReducer = (defaultState = {foo: 'bar'}, action) => {
switch(action.parameter)
{
...
default return defaultState
}
}
您的状态
{
someReducer: { foo: 'bar' }
}
答案 1 :(得分:0)
我不确定在React Native上设置redux的方法,因为我只使用React.js,但是如果您要设置商店来处理异步调用处理程序,那么最好的选择就是研究中间件。
https://redux.js.org/api/applymiddleware
这是一个很好的例子,说明如何使用中间件和redux-thunk调用异步请求 https://redux.js.org/advanced/async-actions
在示例的最后,它显示了如何使用redux-thunk通过异步API调用来初始化商店。