【发布时间】:2022-06-10 20:39:04
【问题描述】:
我正在尝试在一段时间后更改状态,以便我可以更改 DOM 并为此使用 setTimeout() 但我无法使其工作。这是代码:
function Contact() {
const [send, setSend] = useState(false);
const submitHandler = async values => {
const { fullname, email, subject, message } = values;
if (fullname && email && subject && message) {
const response = await fetch('/api/sendgrid', {
method: 'post',
body: JSON.stringify({
fullname,
email,
subject,
message,
}),
});
console.log(response);
if (response.status === 'ok') {
setSend(true);
setTimeout(() => {
setSend(false);
}, 3000);
}
}
reset();
};
return <something/>
所以send 变量应该在 3 秒后改变,之后我需要 clearTimeout()。我应该在哪里进行更改?
【问题讨论】:
标签: reactjs settimeout