我正在尝试使用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')
}
}
}
...