Reactjs Redux状态已更新,但UI未更新

Reactjs Redux状态已更新,但UI未更新,reactjs,redux,Reactjs,Redux,我创建了一个简单的应用程序,使用redux和antd库添加用户。当添加用户时,我试图显示成功消息。我可以在状态中获取更新的消息,但当我提醒该消息时,它显示为空白。当我再次单击按钮时,它会在警报中显示成功消息 我已经创建了codesandbox链接: 请帮帮我,我还没有反应过来。以下是可能发生的情况 -由于回调函数是同步的,即使addUser函数放在alert函数之前,也不能保证它会在alert函数之前执行 解决方案是使您的函数异步,如下所示,以确保在触发警报之前添加用户,从而更新状态(使用用户和

我创建了一个简单的应用程序,使用redux和antd库添加用户。当添加用户时,我试图显示成功消息。我可以在状态中获取更新的消息,但当我提醒该消息时,它显示为空白。当我再次单击按钮时,它会在警报中显示成功消息

我已经创建了codesandbox链接:


请帮帮我,我还没有反应过来。

以下是可能发生的情况 -由于回调函数是同步的,即使addUser函数放在alert函数之前,也不能保证它会在alert函数之前执行

解决方案是使您的函数异步,如下所示,以确保在触发警报之前添加用户,从而更新状态(使用用户和显示的消息)。确保保存更改并刷新沙盒以测试它

handleSubmit = e => {
e.preventDefault();
this.props.form.validateFields(async (err, values) => {
  if (!err) {
    await this.props.addUser(values);
    alert(this.props.message);
  }
});

下面是可能发生的事情 -由于回调函数是同步的,即使addUser函数放在alert函数之前,也不能保证它会在alert函数之前执行

解决方案是使您的函数异步,如下所示,以确保在触发警报之前添加用户,从而更新状态(使用用户和显示的消息)。确保保存更改并刷新沙盒以测试它

handleSubmit = e => {
e.preventDefault();
this.props.form.validateFields(async (err, values) => {
  if (!err) {
    await this.props.addUser(values);
    alert(this.props.message);
  }
});