在React Dom之前确保调度和还原器工作


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 / > );
}
});

最新更新