当我从第1行的反应中向redux派遣动作时,我可以100%确定反应组件中的第2行是否具有更新的redux状态?

Kar*_*ala 1 reactjs redux react-redux redux-actions

我知道redux中的调度操作是同步的.当我从第1行的反应组件向redux发送操作时,我可以100%确定反应组件中的第2行是否具有更新的redux状态?我正在通过调度getGameDataSuccess(data)动作设置游戏数据.我可以100%确定在下一行中新的道具会流下来吗?现在当我console.log(this.props.lostLetters.gameData),我看到新的游戏数据.但我能100%确定这种情况总是如此吗?

getLostLettersGame(this.props.gameCenter.selectedGame.gameId)
              .then((data) => {
                this.props.dispatch(LostLettersActions.getGameDataSuccess(data));
                console.log(this.props.lostLetters.gameData);
                this.generateGame();
              })
Run Code Online (Sandbox Code Playgroud)

Aka*_*rma 5

您不能100%确定在调度调用之后立即呈现更新的状态.组件即将重新呈现时调用mapStatetoProps,这取决于React是否批量更新.默认情况下,React批处理事件处理程序的更新.

您可以参考https://github.com/reactjs/react-redux/issues/291