From 55df27455a41e93447060a51f8fd409034d47647 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Fri, 16 Sep 2022 21:37:44 +1200 Subject: [PATCH] Always display snackbars for their intended durations --- MassiveSnack.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MassiveSnack.tsx b/MassiveSnack.tsx index a6175dc..dec4339 100644 --- a/MassiveSnack.tsx +++ b/MassiveSnack.tsx @@ -9,13 +9,14 @@ export const SnackbarContext = React.createContext<{ const MassiveSnack = ({children}: {children: JSX.Element[] | JSX.Element}) => { const [snackbar, setSnackbar] = useState(''); + const [timeoutId, setTimeoutId] = useState(0); const dark = useColorScheme() === 'dark'; - let timeoutId: number; const toast = (value: string, timeout: number) => { setSnackbar(value); clearTimeout(timeoutId); - timeoutId = setTimeout(() => setSnackbar(''), timeout); + const id = setTimeout(() => setSnackbar(''), timeout); + setTimeoutId(id); }; return (