我有一個彈出視窗。當用戶第一次進入頁面時,會出現一個模態。
這個模態有一個表格,這個表格是需要填寫的。當用戶填寫表單并進入不同的頁面時,模態沒有打開,也沒關系。所以,我的模態作業得很好。它會自動打開,用戶無法關閉它。但問題來了,我也無法關閉它!我想要的是當用戶發送表單并回傳時200 OK,模態將關閉。
我該怎么做?
let handleSubmit = async (e) => {
e.preventDefault();
try {
let res = await fetch(
process.env.REACT_APP_ENDPOINT "user/me/contract",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${localStorage.getItem(
"fray_access_token"
)}`,
},
body: JSON.stringify({
name: name,
surname: surname,
email: email,
}),
}
);
let resJson = await res.json();
if (res.status === 200) {
console.log("CLOSE THE MODAL IN HERE");
console.log("CLOSE THE MODAL IN HERE");
console.log("CLOSE THE MODAL IN HERE");
} else {
console.log("Some error occured");
}
} catch (err) {
console.log(err);
}
};
...
return(..
<Modal backdrop="static" isOpen={!modalOpen} size="lg" id="modal">
<ModalHeader>Ho?geldiniz!</ModalHeader>
<ModalBody>
<Input
required
type="text"
value={name}
placeholder="?sim"
onChange={(e) => setName(e.target.value)}
/>
...
...
</ModalBody>
</Modal>
uj5u.com熱心網友回復:
如果你的狀態是這樣的:
const [modalOpen, setModalOpen] = useState(false)
比你需要這樣做:
if (res.status === 200) {
setModalOpen(false)
} else {
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/388587.html
標籤:javascript 反应
上一篇:按下按鈕時如何添加數值?
