오늘 프로젝트 작업 중에 진짜 너무 재밌는 사실을 하나 알았다
나는 next.js를 사용할때 새로고침을 하면(url직접 치고 들어가거나)
currentUser 정보가 undefined가 되는 이유가
다시 서버에서 랜더링을 하면서 기존에 (뭔가 어디 쿠키에 저장되어잇을거라고 생각했음) currentUser의 정보가 날라가서
다시 새로고침을 했을때 기존 정보가 사라져있는거라고 생각을 했는데
완죠니 나의 착각 경기도 오산이어따
세상에나, 새로고침을 하면 user 정보가 날라갔다기보단
다시 브라우저가 fetch를 시키면서 파이어베이스에 다시 연결작업을 하면서 "나 인증 좀 해주세연" 하고 요청을 보내는동안에
if(auth.currentUser) 같은걸로 식을 걸어놓은 UI가 마치 유저 정보가 날아간 것처럼 보였던것 뿌니다!!!!!!!
튜터님이 말씀해주신 이 원리를 눈으로 직접 확인해보고 싶어서
setTimeout을 통해 콘솔을 찍어보았다
const currentUser = authService.currentUser;
console.log(currentUser);
setTimeout(() => {
console.log(currentUser);
const timeCurrentUser = authService.currentUser;
console.log(timeCurrentUser);
}, 6000);
결과는....?!?!
미쳐써 너무재미써
가장 처음 실행되었던 currentUser는 null값이 뜨는데, 저 셋타임아웃안에서 똑같이 선언했던 timeCurrentUser는
값이 정상적으로 불러와지는것을 볼 수 있따!!!!!
이제 저 로직 이용해서 한번 currentUser 있을때만 되도록 셋팅도 해보고
로컬스토리지에서 임시로 마치 계속 데이터가 유지되는 것처럼 짜는 로직 둘다 실험해보러가야징
오늘의 개발일지 끄읕-
'📖 나의 개발일지 (WIL&TIL)' 카테고리의 다른 글
[TIL] 오늘의 개발일지 (0) | 2023.02.16 |
---|---|
[TIL] 오늘의 개발일지 (0) | 2023.02.15 |
[TIL] 오늘의 개발일지 (0) | 2023.02.13 |
[WIL] 오늘의 개발일지 (0) | 2023.02.12 |
[TIL] 오늘의 개발일지 (0) | 2023.02.10 |
댓글