React.js
[React] 모달 창 닫힐때 Animation 주기
Chunho
2022. 7. 5. 16:01
모달창이 닫힐 때 에니메이션을 주기 위해 우선 모달창을 제어하는 state를 제외하고 에니메이션을 제어 할 state를 하나 더 만들어주었다.
const [animationOn, setAnimationOn] = useState<boolean>(false)
이후 닫기 버튼 클릭 시 animationOn을 true로 바꿔주고,
setTimeout을 사용하여 0.5초 후 animationOn과 modalOpen을 false로 바꿔주면 된다.
setAnimationOn(true)
setTimeout(() => {
setAnimationOn(false)
setModalOpen(false)
}, 500)
animationOn이 true로 설정되어 있을 때, 아래와 같이 에니메이션 css를 적용해주어 효과를 입힐 수 있었다.ㅁ
${(props) =>
props.animationOn === true &&
css`
transition: 0.25s all ease-in;
transform: translateX(-450px);
`}