1

我知道 redux 中的调度操作是同步的。当我从第 1 行的 react 组件向 redux 发送操作时,我可以 100% 确定我的 react 组件中的第 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();
              })
4

1 回答 1

5

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

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

于 2017-09-06T08:56:42.063 回答