fix react-toastify with setTimeout

This commit is contained in:
Tom
2023-05-04 08:54:09 +02:00
parent 3b17609336
commit 0aec100ed6
4 changed files with 42 additions and 28 deletions
+20 -12
View File
@@ -3,20 +3,28 @@ import { toast } from "react-toastify";
const useError = (message) => {
useEffect(() => {
if (message) {
const toastId = toast.error(message.toString(), {
position: "top-right",
autoClose: false,
hideProgressBar: false,
closeOnClick: false,
pauseOnHover: true,
draggable: false,
progress: undefined,
theme: "dark",
});
if (message && message.length > 0) {
const showErrorToast = () => {
const toastId = toast.error(message.toString(), {
position: "top-right",
autoClose: false,
hideProgressBar: true,
closeOnClick: false,
pauseOnHover: false,
draggable: false,
progress: undefined,
theme: "dark",
});
return () => {
toast.dismiss(toastId);
};
};
const timeoutId = setTimeout(showErrorToast, 500);
return () => {
toast.dismiss(toastId);
clearTimeout(timeoutId);
};
}
}, [message]);
+20 -12
View File
@@ -3,20 +3,28 @@ import { toast } from "react-toastify";
const useSuccess = (message) => {
useEffect(() => {
if (message) {
const toastId = toast.success(message.toString(), {
position: "top-right",
autoClose: 3000,
hideProgressBar: false,
closeOnClick: false,
pauseOnHover: false,
draggable: false,
progress: undefined,
theme: "dark",
});
if (message && message.length > 0) {
const showSuccessToast = () => {
const toastId = toast.success(message.toString(), {
position: "top-right",
autoClose: 3000,
hideProgressBar: false,
closeOnClick: false,
pauseOnHover: false,
draggable: false,
progress: undefined,
theme: "dark",
});
return () => {
toast.dismiss(toastId);
};
};
const timeoutId = setTimeout(showSuccessToast, 500);
return () => {
toast.dismiss(toastId);
clearTimeout(timeoutId);
};
}
}, [message]);