Zoeeey
Stack flows in you
Zoeeey
  • 분류 전체보기 (155)
    • 💡 UXUI (4)
      • UXUI (2)
      • UI (2)
      • UX (0)
    • 🟨 JavaScript (66)
      • 개념 (42)
      • 정리 (2)
      • 문제풀기 (프로그래머스, 코딩애플) (15)
      • 응용하여 자동화or문제해결하기 (2)
      • 기타 (5)
    • ⚛️ React (49)
      • 개념 (27)
      • 개념(Redux) (3)
      • 정리 (4)
      • 문제풀기 (코딩애플: React) (15)
    • 📘 TypeScript (10)
      • 개념 (8)
      • 문제풀기 (코딩애플) (2)
    • 🌐 HTML,CSS (18)
      • 실무에서 자주 발생한 오류들 (10)
      • 뒤늦게 알아서 뼈아픈 유용한 CSS (6)
      • 기타 자주 쓰는 CSS (2)
    • 💻 CS (8)
      • CS (5)
      • 정규표현식 (2)
      • Git,Github (1)

태그

  • 오류
  • 코딩애플
  • JavaScript
  • json
  • react
  • object
  • Ajax
  • class
  • CS
  • useEffect
  • UXUI
  • axios
  • redux
  • Props
  • TypeScript
  • 프로그래머스
  • CSS
  • state
  • 삼항연산자
  • array
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
Zoeeey

Stack flows in you

⚛️ React/문제풀기 (코딩애플: React)

React : 탭 내용 fade되도록 만들기 (+class에 변수 넣기)

2023. 6. 15. 17:41

풀이

useEffect를 사용하여 tab 값이 변경될 때마다 fade 값을 업데이트하고, 컴포넌트가 언마운트될 때 fade를 초기화하도록 넣었다.

function TabContent({tab}){
  let [fade, setFade] = useState('')
  useEffect(()=>{
    setTimeout(()=>{ setFade('end') }, 100)
    return ()=>{
      setFade('')
    }
  }, [tab])
  return (
    <div className={`start ${fade}`}>
    {/* <div className={'start ' + fade}> */}
     { [<div>내용0</div>, <div>내용1</div>, <div>내용2</div>][tab] }
    </div>
  )
}

알게 된 점

  • cleanup function을 사용해 end를 뗐다가 부착할 수 있도록 하였다.
  • setTimeout을 이용하여 automatic batching 기능을 무효할 수 있도록 하였다.
  • class에 변수를 넣으려면 {}와 백택 기호(`)로 감싸면 된다.
<div className={`container ${pagefade}`}>

같이 보면 좋은 글

[중요!] React : useEffect, clean up (조건 별 실행순서), automatic batching — Stack flows in you (tistory.com)


출처 : 코딩애플 https://codingapple.com/

저작자표시 비영리 동일조건 (새창열림)

'⚛️ React > 문제풀기 (코딩애플: React)' 카테고리의 다른 글

React : 상품을 장바구니에 추가하기 (immer, redux, action, payload)  (0) 2023.06.30
React : 장바구니 제품 수량변경 (map, redux, action, payload)  (0) 2023.06.22
React : 탭 만들기 (if else, array로 만들기) + props 귀찮을 때 팁  (0) 2023.06.12
React : 더보기 버튼을 누를 때마다 다른 get주소 데이터 불러오기 (+로딩중)  (0) 2023.06.01
React : ajax 상품 불러오기 전 로딩중 만들기  (0) 2023.05.31
    '⚛️ React/문제풀기 (코딩애플: React)' 카테고리의 다른 글
    • React : 상품을 장바구니에 추가하기 (immer, redux, action, payload)
    • React : 장바구니 제품 수량변경 (map, redux, action, payload)
    • React : 탭 만들기 (if else, array로 만들기) + props 귀찮을 때 팁
    • React : 더보기 버튼을 누를 때마다 다른 get주소 데이터 불러오기 (+로딩중)
    Zoeeey
    Zoeeey
    길게 생각하고 짧게 그리기

    티스토리툴바