리액트와 파이어베이스 인증 사용시 깜빡임 문제 해결

버들비·2021년 1월 16일
0

로그인 상태에 따라 화면 상단 네비게이션 바가 달라지게 해 놓았는데,

파이어베이스의 로그인상태를 체크하는 함수(onAuthStateChanged)의 호출 순서가 상당히 늦어서 useLayoutEffect 같은 훅으로는 해결이 안됐다. (네비게이션 바의 깜빡임을 막을수 없었다.)

스택오버플로에도 나와 비슷한 문제로 고민을 겪은 사람이 있는데, 이사람은 로컬스토리지를 이용해서 해결했다.

로그인상태에 따라 로컬스토리지에 단순한 bool 값을 저장하고,
네비게이션 바의 state에 로컬스토리지 값을 할당한다.

로그아웃할때는 로컬스토리지 값을 지워준다.

단순히 로그인 상태의 bool 값을 저장할 뿐이니 보안상 큰 문제는 없을것 같지만...

0개의 댓글