정의되지 않은 경로 또는 오류 페이지에 액세스하면 Next.js가 강제 새로 고침을 수행하여 내 컨텍스트가 기본 상태로 돌아가게 됩니다(즉, userProfile
state 변수에 저장된 값이 null이 됨)
{구조: 사이드바 및 메인}을 사용하는 레이아웃이 있고 사이드바 구성 요소에는 컨텍스트 후크에서 얻은 사용자 이메일을 상태 변수로 표시합니다.
하지만 정의되지 않은 경로를 클릭하거나 URL에 수동으로 입력하면 색인 페이지('/')로 다시 던져지는 사용자 정의 오류 페이지가 표시되지만 이로 인해 상태가 null
(컨텍스트)로 다시 돌아갑니다.
내 컨텍스트 파일은 아래와 같습니다
으아아아로그인 페이지의 로그인 핸들러에서 상태(성공)를 설정했습니다.
해결 방법이 있나요? 아니면 로컬 저장소를 사용해야 하나요
현재 그가 색인 페이지로 돌아오면 사용자 프로필을 다시 가져옵니다.
로컬 스토리지가 더 나은 선택일 수도 있을 것 같아요.
P粉5117495372024-04-06 00:57:57
다른 곳이 아닌 컨텍스트 파일에만 상태를 설정하여 문제를 해결했습니다. 간단히 말해서 context.js 파일에서 사용자 프로필 데이터를 가져오고 어디에서나 사용할 수 있도록 거기에 상태를 설정합니다. 누구든지 같은 문제가 발생하면 저를 언급해주세요!
내 context.js 파일은 아래와 같습니다
으아악