【发布时间】:2020-07-09 08:21:38
【问题描述】:
我正在根据服务器响应在组件上显示“消息”,我希望该消息在 5 秒后消失。我用 setTimeout 尽力了,但没有运气,你能帮帮我吗?
这是我的代码:
import React, { useState } from "react";
import { Form, Button, Container, Row, Col} from 'react-bootstrap'
import axios from 'axios'
export default function Users() {
const [email, setEmail] = useState("");
const [name, setName] = useState("");
const [message, setMessage] = useState("")
function handleSubmit(e){
e.preventDefault()
const credential = { email, name };
axios
.post('/', credential)
.then(response => {
if(response.status === 201) {
resetInputs()
setMessage(response.data.message)
}
})
.catch(error => {
if (error.response.status === 409) {
setMessage(error.response.data.message)
}
})
}
function resetInputs(){
setEmail("")
setName("")
}
return (
<div className="form">
<div className="hero-container">
<h1>Welcome to <span className="hi">my</span><span>website</span></h1>
<h5>Enter your name and your email to join our waiting list!</h5>
<p></p>
<div>
{message}
</div>
<p></p>
</div>
)
}
【问题讨论】:
-
“我用 setTimeout 尽力了,但没有成功” 这段代码是什么样的?如果您不向我们展示它,我们无法告诉您它出了什么问题。
标签: javascript reactjs react-hooks settimeout