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

home2 게시판 Next.js 게시판 'Dark mode 기능 2 - 오늘의 응용' 중...

'Dark mode 기능 2 - 오늘의 응용' 중...

  • 이 주제에는 2개 답변, 2명 참여가 있으며 임은상2 년 전에 전에 마지막으로 업데이트했습니다.
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #87059

    임은상
    참가자
    ----------------------------------------------------------------------
    Dark mode 기능 2 - 오늘의 응용의 2번 항목
    
    2. 지금 쿠키 꺼내는 코드를 매우 자주 사용하고 있군요.
    state에 저장해서 쓰거나
    부모 컴포넌트에 있는 쿠키를 props로 보내거나 그런 방법도 생각해봅시다. 
    ----------------------------------------------------------------------
    구현하고 난 후 궁금한 점이 생겼습니다
    부모 컴포넌트에 있는 쿠키를 props로 보내는 방법을 선택했습니다
    스크린샷 2023-06-15 오후 12.23.32
    이렇게 부모 컴포넌트에서 cookie를 전달합니다.
    이때 쿠키가 없으면 'mode.value' 속성이 정의돼있지 않아 오류가 발생하기 때문에 20번째 줄과 같은 코드를 추가했습니다.
    (cf. 34번째 줄도 24번째 줄처럼 mode 객체가 있을 때만 객체를 전달하면 쿠키가 없을 때 굳이 20번째 줄을 작성할 필요가 없는 거 알고있습니다)
    
    그런데~~
    스크린샷 2023-06-15 오후 12.26.45
    항상 부모 컴포넌트로부터 mode 객체를 전달받으면 18번째 줄에 있는 조건문 때문에 19번째 줄은 실행이 평생 안 될 거 같은데
    쿠키를 삭제해봐도 실행이 잘 되네요
    
    정확히 왜 그런건가요?
    쿠키가 없을 때 부모 컴포넌트에서 객체(mode)를 생성하여 자식 컴포넌트(DarkModeBtn)로 전달하는 시간보다
    DarkModeBtn 컴포넌트를 생성하여 렌더링하는 시간이 더 빨라서 그런건가요?
    
    #87085

    codingapple
    키 마스터
    !undefined 는 true라서 항상 실행되는게 아닐까요
    #87201

    임은상
    참가자
    아 레젼드
    
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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