Api.GET({
url: USER_LOGIN_AUTH,
payload: null,
onSuccess: response => {
window.__MUI_USE_NEXT_TYPOGRAPHY_VARIANTS__ = true;
store.dispatch(getUserAction(response.data));
ReactDOM.render(
<Provider store={store}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>,
document.getElementById("root")
);
},
onFailure: () => {
ReactDOM.render(<Unauthorized />);
}
});
我如何确保store.dispatch
及其相应的还原器已将新状态设置为ReactDOM.render
执行。
我想在设置初始状态之前持有我的应用程序。
谢谢
使用承诺可以帮助:
Api.GET({
url: USER_LOGIN_AUTH,
payload: null,
onSuccess: response => {
window.__MUI_USE_NEXT_TYPOGRAPHY_VARIANTS__ = true;
new Promise(function(resolve, reject) {
try {
resolve(store.dispatch(getUserAction(response.data)));
} catch (error) {
reject(error);
}
}).then(store => {
ReactDOM.render( < Provider store = {store} >
<BrowserRouter >
<App />
</BrowserRouter> </Provider>,
document.getElementById("root")
);
})
},
onFailure: () => {
ReactDOM.render( < Unauthorized / > );
}
});