react-hot-toast
reference: https://react-hot-toast.com/docs/toast
useToast 컴포넌트를 만든다.
// useToast.jsx
import React, { useCallback } from 'react';
import toast, { Toaster } from 'react-hot-toast';
export function useAsyncToast() {
const asyncToast = useCallback((resultPromise, data, messages) => {
toast
.promise(
resultPromise,
{
loading: messages.loading,
success: messages.success(data),
error: (err) => messages.error(err),
},
{
style: {
marginLeft: '300px',
minWidth: '250px',
},
}
)
.catch((err) => {
console.log(err);
});
}, []);
return { asyncToast };
}
export function ToastContainer() {
return <Toaster position="bottom-center" reverseOrder={true} />;
}
useAsyncToast를 사용하고자 하는 컴포넌트에 Import하고 비동기 함수를 변수로 지정하고 asyncToast의 인자로 보낸다.
Last updated