gpt4 book ai didi

reactjs - 在 react 中显示 Flash 消息

转载 作者:行者123 更新时间:2023-12-04 00:01:26 24 4
gpt4 key购买 nike

我的任务是在单击提交按钮时显示 flash 消息(“成功创建”)。[单击提交按钮,数据将存储在服务器中]我已经运行了这个命令 npm i react-flash-message。

<form onSubmit={this.handleSubmit}>
<input type="submit" value="Submit" />
</form>

处理提交函数:
  handleSubmit(event) {
fetch('url', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: this.state.name,
description: this.state.description
})
}).then(res => {
return res.json()
})
.then(data => console.log(data))
.then(() => {
window.location.reload(false)
/* return (
<div>
<FlashMessage duration={5000}>
<strong>I will disapper in 5 seconds!</strong>
</FlashMessage>
</div>
) */
})
/* window.flash('record has been created successfully!', 'success') */

.catch(error => console.log('ERROR from create component'))
}
}

我已经评论了我试图显示 Flash 消息的代码。但它不起作用。请有人帮我显示 Flash 消息。

最佳答案

根据 react-flash-message page ,您应该在渲染中包含 FlashMessage。因此,当您想显示 FlashMessage 时,您可能需要将标志变量设置为 true

例子:
在你的渲染中:

<form onSubmit={this.handleSubmit}>
<input type="submit" value="Submit" />
{ this.state.showMessage &&
<div>
<FlashMessage duration={5000}>
<strong>I will disapper in 5 seconds!</strong>
</FlashMessage>
</div>
}

</form>

处理提交功能:
handleSubmit(event) {
this.setState({ showMessage: false });
fetch('url', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: this.state.name,
description: this.state.description
})
}).then(res => {
return res.json()
})
.then(data => console.log(data))
.then(() => {
this.setState({ showMessage: true });
})
/* window.flash('record has been created successfully!', 'success') */

.catch(error => console.log('ERROR from create component'))
}
}

如果您正在使用类,则主要功能:
 constructor(props) {
super(props);
this.state = {
showMessage: false
};
}

https://www.npmjs.com/package/react-flash-message

关于reactjs - 在 react 中显示 Flash 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60637063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com