개발/React 학습

Transition

RainyJune 2023. 4. 20. 11:01

CSS Transition (https://developer.mozilla.org/ko/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)

CSS간 전환효과를 적용하는 기법.

특정 동작시 애니메이션 효과를 주는 등 꾸밀 수 있다.


Fade In 효과 보여주기

App.css에 css를 추가한다.

.fade-in-start {
  /* 불투명도 0 */
  opacity: 0;
}

.fade-in-end {
  opacity: 1;
  /* opacity 효과 전환시간을 0.5초에 걸쳐 전환되도록 함 */
  transition: opacity 0.5s;
}

HTML 요소에 fade in 효과 적용하기

let [fadeInEnd, setFadeInEnd] = useState('');

useEffect(() => {
  setTimeout(() => {
    setLoadEnd('fade-in-end');
  }, 100);
  
  return () => {
    setLoadEnd('');
  }
}, [])

return(
  {/* className에 fade-in-start와 fade-in-end를 넣어 transition 효과 부여 */}
  <div className=`container fade-in-start ${fadeInEnd}`}>
    ...
  </div>
);

className에 fade-in-end를 setLoadEnd에서 값을 넣어주는 이유 ?

  • transition 효과는 해당 css를 불러오는 시점에 적용됨.

useEffect() method 내 setLoadEnd('')를 clean-up 영역에 사용한 이유?

'개발 > React 학습' 카테고리의 다른 글

Redux 설치  (0) 2023.04.21
Context API  (0) 2023.04.21
AJAX 활용  (0) 2023.04.18
Component의 Lifecycle  (0) 2023.03.26
Styled Components  (0) 2023.03.21