Select Git revision
Forked from
ajou-pay / client-user
Source project has a limited visibility.
-
Minseo Lee authoredMinseo Lee authored
index.tsx 1.00 KiB
import { createContext, useEffect, useState } from "react";
import type { ToastData } from "../../components/toast/config";
import type { FC, ReactNode } from "react";
interface ToastContextType {
toastItem: ToastData | null
setToastItem: (d: ToastData | null) => void;
}
const ToastContext = createContext<ToastContextType>({
toastItem: null,
setToastItem: (d) => { return d; },
});
interface pProps { children: ReactNode; }
const ToastProvider: FC<pProps> = ({ children }) => {
const [item, setItem] = useState<ToastContextType['toastItem']>(null);
useEffect(() => {
console.log('GLOBAL ToastProvider: ', item);
}, [item]);
const setToastItem = (toastItem: ToastData | null) => {
setItem(toastItem);
};
return (
<ToastContext.Provider
value={{
toastItem: item,
setToastItem,
}}
>
{ children }
</ToastContext.Provider>
);
};
export { ToastProvider, ToastContext };