当存储首次初始化时,我尝试从异步存储中加载所有异步数据,如用户对象。但我完全不知道该怎么做。我得到了一个建议来创建一个中间件来做这件事,但我不知道怎么做。
当前应用商店及其在应用程序中的初始化
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);
发布于 2020-07-14 15:58:48
您不需要全局使用default状态,因为reducers在redux上已经有一个default状态参数
以
为例
const someReducer = (defaultState = {foo: 'bar'}, action) => {
switch(action.parameter)
{
...
default return defaultState
}
}你的状态
{
someReducer: { foo: 'bar' }
}发布于 2020-07-14 16:14:13
我不确定在React Native上设置redux的方法,因为我只使用React.js,但是如果您要设置您的存储来处理异步调用处理程序,那么您最好的选择是研究中间件。
https://redux.js.org/api/applymiddleware
下面是一个很好的例子,说明了如何使用中间件和redux-thunk https://redux.js.org/advanced/async-actions调用异步请求
在示例的最后,它展示了如何使用redux-thunk通过异步API调用来初始化您的存储。
https://stackoverflow.com/questions/62890052
复制相似问题