일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CSS
- Fetch
- url
- bootstrap
- db
- github
- Database
- til
- nosql
- http
- jQuery
- firestoredatabase
- useEffect
- 배포
- HTML
- Protocol
- API
- REACT
- SQL
- data
- Boostrap
- supabase
- web
- TMDB
- Github Pages
- Cloud
- IntersectionObserver
- this
- W
- JavaScript
- Today
- Total
072DATA
토스트(react-toastify) 사용하기 본문
Toast란?
Toast는 화면의 특정 위치에 잠깐 나타났다가 사라지는 간단한 알림 메시지를 제공하고
사용자에게 빠르게 정보를 전달하거나 작업의 피드백을 제공하기 위해 사용됨
특징
일정 시간 동안만 화면에 표시된 후 자동으로 사라짐
에러, 성공, 경고 등의 간단한 상태 메시지를 전달하는 데 적합함
팝업과 달리 사용자의 작업을 방해하지 않으며 인터랙션이 필수가 아님
커스텀
상단, 하단, 왼쪽, 오른쪽 등 화면의 어느 위치에 표시할지 설정할 수 있음
토스트 메세지가 사라지는 시간을 설정할 수 있음
필요에 따라 사용자가 수동으로 닫을 수 있도록 닫기 버튼을 추가할 수 있음
사용 예시
성공 메시지: 데이터 저장, 사용자 로그인 등 성공적으로 작업이 완료되었을 때.
에러 메시지: 네트워크 오류, 잘못된 입력 등 실패한 작업에 대한 경고.
정보 메시지: 사용 안내, 잠금 상태 등 기타 정보 제공.
사용 방법
react-toastify, react-hot-toast와 같은 라이브러리를 사용하여 쉽게 구현할 수 있음
import Router from "./shared/Router";
import { ToastContainer } from "react-toastify";
const App = () => {
return (
<>
<ToastContainer position="top-right" autoClose={1000} closeOnClick draggable transition:Bounce />
<Router />;
</>
);
};
export default App;
import { toast } from "react-toastify";
import "react-toastify/dist/ReactToastify.css";
//...
if (userBookmarkExists) {
toast.error("북마크가 삭제되었습니다!");
} else {
toast.success("북마크가 추가되었습니다!");
}
...//
ToastContainer는 중복으로 사용하면 오류가 나기 때문에 토스트 메세지를
여러 컴포넌트에서 사용한다면 상위 컴포넌트가 되는 곳에서 1번만 사용해주는게 좋은 것 같음
메세지를 알림창을 띄우고 싶은 함수나 컴포넌트에 사용 예시 코드처럼 기입해주면 잘 나온다
마치며
지금까진 alert를 주로 사용해서 사용자에게 알림 창을 띄웠는데
toast를 사용하니 사용자 경험 향상에도 큰 도움이 될 것 같다
사용 방법도 너무 쉬워서 토스트 메세지가 어울리는 프로젝트에는
안쓰는게 손해가 아닐까 생각이 든다..!
'FrontEnd > HTML, CSS, JavaScript' 카테고리의 다른 글
렉시컬 환경과 클로저 (0) | 2024.10.24 |
---|---|
Throttling 알아보기 ( 성능 최적화 기법 ) (1) | 2024.10.24 |
`JavaScript` 에서 명시적 `This binding`을 제공하는 `3가지 메소드` ( call, apply, bind) (0) | 2024.08.08 |
Moview - JavaScript 별점 기능 설명(프로젝트 완성) (0) | 2024.08.07 |
슬라이드 구현하기 - JavaScript (2) | 2024.08.06 |