首页 > 解决方案 > 反应 SetState 不立即更新状态

问题描述

在删除单击时,我正在调用一个模式对话框,并使用删除成员的相应用户 ID 更新“用户 ID”状态。setState 函数不更新值。我怎样才能以任何其他方式实现这一目标。

删除点击处理程序

handleClickDialogOpen = (userid) => {   
    this.setState((state) => {
      return {
        open: true,
        UserID: userid,

      };
    });
    console.log(this.state)
  };

在模态对话中,在删除按钮上我无法获取 userId 的值

 <Button onClick={() => deleteSP(this.state.userID)} className={classes.agree}>
       Delete
</Button>

如何传递“deleteSP”的 ID

标签: reactjsdialogmodal-dialog

解决方案


setState 是异步的,你可以像这个例子那样做一个控制台日志,因为这个函数会在 setState 完成时触发

handleClickDialogOpen = userid => {
    this.setState({
        open: true,
        UserID: userid,
      },
      () => console.log(this.state),
    );
  };

推荐阅读