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