我使用 react-toastify 来通知 toast,但是当我的页面重定向到另一个页面时它不起作用。
它不工作 mydata 被保存到数据库中。当我的页面未重定向时它正在工作。
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const loginUser = async (e) => {
e.preventDefault();
const res = await fetch("/signin", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email, password }),
});
const data = await res.json();
if (res.status === 422 || !res) {
warningAlert();
console.log(res);
console.log("Invalid Credentials")
} else {
successAlert();
dispatch({ type: "USER", payload: true });
// console.log(res);
history.push("/");
}
}
以上代码用于登录。这里的通知不是在
else
状态下工作,而是在if
状态下工作。
上面提到的警报
const successAlert = () => {
// window.alert("Invalid Credentials");
toast("User logged in successfully", {
position: "top-right",
autoClose: 2000,
hideProgressBar: false,
closeOnClick: true,
pauseOnHover: false,
draggable: true,
progress: undefined,
});
}
const warningAlert = () => {
// window.alert("Invalid Credentials");
toast.error("Invalid Credentials", {
position: "top-right",
autoClose: 2000,
hideProgressBar: false,
closeOnClick: true,
pauseOnHover: false,
draggable: true,
progress: undefined,
});
}