728x90
안녕하세요 오늘은 react-hot-toast 라이브러리를 사용해 간단하고 예쁘게 토스트 메시지(알림) ui 를 구현해보겠습니다.
토스트 메시지(Toast message) 란 사용자에게 짧고 간결한 피드백을 제공하기 위해 사용되는 팝업 알림으로, 일정 시간이 지나면 자동으로 사라지며 사용자의 상호작용 없이 정보를 전달하는 데에 사용 되는 요소 입니다.
1. react-hot-toast 설치
프로젝트의 루트 디렉토리 위치에서 해당 라이브러리를 설치해줍니다.
npm install react-hot-toast
2. 원하는 자바스크립트 파일에 react-hot-toast 를 import 해줍니다
About.jsx
import { toast } from 'react-hot-toast';
3. 토스트 메시지를 띄우고자 하는 곳에 추가해줍니다.
클릭 이벤트 발생시 메시지를 띄울 예정이므로 on click 이벤트를 걸어줍니다
<Link
to="projects"
spy={true}
smooth={true}
offset={-80}
duration={500}
onClick={() => toast.error("This didn't work.")}
className="inline-block bg-indigo-600 text-white px-6 py-3 rounded-lg text-lg hover:bg-indigo-500 transition cursor-pointer"
>
See My Projects
</Link>
"See my Projects" 라는 이름을 가진 버튼(링크) 클릭 시, 토스트 메시지가 뜰 예정입니다.
4. 토스트 메시지를 띄우기 위해서는 About.jsx 를 불러오고 실행시키는 메인 스크립트 App 에서도 import 및 컴포넌트를 명시적으로 추가해줘야 토스트 메시지가 정상 작동할 수 있습니다.
import { Toaster } from "react-hot-toast";
.
.
.
.
<div style={{ minHeight: "200vh" }}>
{" "}
<Toaster position="top-center" /> => 위치는 상관없습니다
<VideoBackground />
<Header />
<Hero />
<FadeInSection>
<About />
</FadeInSection>
<FadeInSection>
<ServicesSection />
</FadeInSection>
<FadeInSection>
<StatsSection />
</FadeInSection>
<ProjectGallery />
<BlogSlider />
<SimpleCounter />
<SimpleTodo />
<SimpleCalculator />
<ThreeDPortfolio />
<AvatarPortfolio />
<ParticlePortfolio />
<Contact />
</div>
</>
);
}
결과 화면입니다.
아직 project 화면이 구성되지 않았기 때문에 사용자는 접근할 수 없습니다.
혹은 아래와 같이 성공 토스트 메시지를 띄울 수도 있습니다
감사합니다
'React' 카테고리의 다른 글
| [React] 웹페이지에 간단하게 폭죽 효과 구현하기 (3) | 2025.08.05 |
|---|---|
| [React] GSAP ScrollTrigger 라이브러리 사용해 스크롤에 반응하는 애니메이션 구현하기 (3) | 2025.08.04 |
| [React] react-simple-typewriter로 타이핑 효과 쉽게 구현하기 (0) | 2025.07.29 |
| [React] IntersectionObserver로 스크롤 시 Fade-in 애니메이션 적용하기 (1) | 2025.07.28 |
| [React] 홈페이지 메인화면에 배경 영상 추가하기 (2) | 2025.07.26 |