로그인 후 상태가 비동기적으로 로드되기 전에 컴포넌트가 렌더링되어 발생하는 null 접근 에러를 수정하였습니다. 로그인 시 동기적으로 상태를 저장한 후 렌더링을 시작하도록 하여, 상태가 제대로 로드되지 않았을 때 발생하는 문제를 해결했습니다.
구현 사항
zustand 상태 관리에서 login 함수가 동기적으로 사용자 정보를 상태에 저장한 후에만 렌더링되도록 로직을 수정
ProfileCard 컴포넌트에서 userInfo가 null인 상태에서 속성에 접근하지 않도록 조건부 렌더링 추가
로그인 후 상태가 완전히 설정되기 전까지 "Loading..." 메시지를 출력하도록 처리
로그아웃 시 userInfo를 null 대신 기본 빈 객체로 초기화하여, 렌더링 시 null 접근 오류 방지
기타
컴포넌트 구조:
ProfileCard: 사용자의 프로필 정보(nickname, username, stats)를 보여주는 컴포넌트
userInfo 상태가 비동기적으로 로드되기 전에는 "Loading..." 메시지를 보여주고, 상태가 설정되면 정상적으로 프로필 정보를 출력
상태 관리는 zustand의 persist 미들웨어를 사용하여 sessionStorage에 저장하며, 페이지 새로고침 시에도 상태가 유지됨
하고 싶은 말
이 PR은 로그인 상태를 더욱 안정적으로 관리하기 위한 개선 사항입니다. 특히, 비동기적으로 상태가 로드될 때 발생할 수 있는 잠재적인 에러를 방지하기 위해 조건부 렌더링과 동기적 상태 설정을 추가했고 이를 통해 사용자 경험이 개선되고, 컴포넌트의 안정성이 강화될 것으로 기대됩니다.
개요
로그인 후 상태가 비동기적으로 로드되기 전에 컴포넌트가 렌더링되어 발생하는 null 접근 에러를 수정하였습니다. 로그인 시 동기적으로 상태를 저장한 후 렌더링을 시작하도록 하여, 상태가 제대로 로드되지 않았을 때 발생하는 문제를 해결했습니다.
구현 사항
기타
하고 싶은 말
이 PR은 로그인 상태를 더욱 안정적으로 관리하기 위한 개선 사항입니다. 특히, 비동기적으로 상태가 로드될 때 발생할 수 있는 잠재적인 에러를 방지하기 위해 조건부 렌더링과 동기적 상태 설정을 추가했고 이를 통해 사용자 경험이 개선되고, 컴포넌트의 안정성이 강화될 것으로 기대됩니다.