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
及其各自的reducers在ReactDOM.render
执行行之前设置了新状态。
我希望在初始状态设置之前保持我的应用程序被渲染。
谢谢
使用Promise可以帮助:
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 / > );
}
});