• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 멋있게 탭메뉴 - flushsync

멋있게 탭메뉴 - flushsync

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #97876

    최문길
    참가자
    tab ui component
    
    function TabContent({tab,fade,setFade}) {
       
            useEffect(()=>{
                    setFade('end') ---------------4
                return(()=>{
                   setFade('') --------------3
                })
            },[fade]) -----------------2
    
    -------
    
    function List(props) {
    let [fade,setFade] = useState();
    let flush =  function(){
            flushSync(()=>{
                setFade('')
            }) 
         }
    
    return (
    
    <Nav variant="tabs" defaultActiveKey="0"
     onSelect={(e)=>{ 
                    setTab(e) ---------------
                    flush()  ------------- 1번
                }}>
                    <Nav.Item>
                        <Nav.Link eventKey="0">버튼0</Nav.Link>
                    </Nav.Item>
                    <Nav.Item>
                        <Nav.Link eventKey="1">버튼1</Nav.Link>
                    </Nav.Item>
                    <Nav.Item>
                        <Nav.Link eventKey="2">버튼2</Nav.Link>
                    </Nav.Item>
                </Nav>
               
                <TabContent tab={tab} fade = {fade} setFade={setFade}/>
    
    -------------------
    1번 - 탭메뉴 클릭하면 flush함수 실행
    2번- fade의 상태값에 따라서만 useEffect 실행
    4번 - 마지막으로 end 값 던져주기
    3번 - 언마운트시 빈 값 줘야지...
    
    코드 리뷰요
    
    
    #97911

    codingapple
    키 마스터
    뭐누를 때 setFade 2번하는거같은데 1번만 해도 될수도요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠