【问题标题】:component shows prevoius state for a second before update in mui Alert组件在 mui Alert 更新之前显示之前的状态一秒钟
【发布时间】:2022-12-06 13:00:56
【问题描述】:

我有一个用于用户注册的表单页面,只要我有来自 api 的任何错误,就会显示警报,所以我制作了这个警报组件

    <Snackbar
    open={open}
    autoHideDuration={9000}
    onClose={() => {
      setOpen(false);
    }}
  >
    <Alert
      severity={type}
      onClose={() => {
        setOpen(false);
      }}
    >
      {msg}
    </Alert>
  </Snackbar>

在用户注册表中,我有一个状态打开,只要用户单击用户创建按钮,该状态就会变为真

<Button
            variant="contained"
            type="submit"
            id="root"
            sx={{
              width: "25%",
             
            }}
            onClick={()=> setOpen(true)}
          >
            Create
</Button>

我的警报组件也在用户注册表中调用,警报和消息是根据数据 api 响应的帖子设置的

{alert ? <Alert msg={msg} type={type} setOpen={setOpen} open={open} setMsg={setMsg}/> : ""}

但问题是警报弹出窗口总是先显示先前的错误,然后再显示实际错误。

我的表单组件中有 open 、 msg 和所有状态

【问题讨论】:

    标签: javascript reactjs material-ui components alert


    【解决方案1】:

    我有一个用于用户注册的表单页面,只要我有来自 api 的任何错误,就会显示警报,所以我制作了这个警报组件

    【讨论】:

    • 你想说的是什么 ?
    猜你喜欢
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 2021-01-18
    • 2019-02-13
    • 2015-08-29
    • 2015-08-16
    • 1970-01-01
    相关资源
    最近更新 更多