【发布时间】: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