如何在SSR react / redux应用程序的构造函数中等待操作的调度完成?

时间:2019-03-09 14:18:20

标签: reactjs redux ssr

我正在尝试使用Redux在我的ServerSideRendering react应用中调度我的动作。

因为它是SSR,所以我无法在componentWillMount中调度我的动作,而必须在构造函数中调度它们,但是该组件会比在reducer中应用更改之前呈现结果。

如何更改代码以保持渲染直到动作完成?

注意 :请考虑我们不能在构造函数中使用 async / await

(我正在通过redux connect使用mapStateToProps / MapDispatchToProps)

下面是我的代码:

...
constructor(props) {
    super(props)
    this.fetchPosts = this.fetchPosts.bind(this)

    if (__isBrowser__) {
        if (window.__INITIAL_DATA__.success) {
            this.props.actions.setPosts(window.__INITIAL_DATA__.posts)
            this.props.actions.setStatus('success')
        }
    } else {
        if (props.staticContext.data.success) {
            this.props.actions.setPosts(props.staticContext.data.posts)
            this.props.actions.setStatus('success')
        }
    }
}
...

0 个答案:

没有答案