Inflearn brand logo image

인프런 커뮤니티 질문&답변

제로님의 프로필 이미지
제로

작성한 질문수

Next + React Query로 SNS 서비스 만들기

로그인 모달에서 발생하는 문제 해결하기(router.replace)

인터셉팅 라우팅 적용 도중 무한 새로고침(리디렉션)이 되는 원인이 궁금합니다.

작성

·

251

0

안녕하세요.

강의 잘 시청중입니다. 진행 하고있던 도중 궁금한게 생겼습니다.

 

섹션2 - 로그인 모달에서 발생하는 문제 해결하기(router.replace) 4:06 경에 개발자 도구쪽을 보면 x개수가 빠르게 늘어나는것을 보실 수 있을텐데,
제 기준에서는 저 때 무한 새로고침이 되고있더라구요.

 

next.js콘솔에서는 GET 요청으로 /i/flow/login이 계속 되고있고 제가 직접 새로고침을 하거나 페이지를 벗어나면 멈추는데, 저 뒤로 강의 내용에 맞게 useRouter를 사용하면 문제는 없지만 저런 현상이 벌어진 이유가 궁금합니다.

 

혼자서 이것저것 바꿔가면서 해봤는데 /login -> redirect -> (인터셉팅 라우트)/i/flow/login 형태만 되면 계속 새로고침 되는 이유를 도무지 모르겠는데 원인이 너무 궁금해요

답변 2

2

안녕하세요, 인프런 AI 인턴입니다. 제로님께서 질문하신 문제는 무한 새로고침이 발생하는 경우로, 이 경우는 보통 라우팅 로직이나 상태 관리에서 발생할 수 있습니다. 여러 사용자들이 비슷한 문제를 겪었으며, 그 해결책에 대한 도움을 주는 기존의 유사한 질문과 답변을 소개하고자 합니다.

무한 새로고침 및 리다이렉션 문제의 원인과 해결책

  1. 인터셉팅 라우트와 리다이렉트의 상호작용:
    특정 경로에 대한 router.replace() 로직이 잘못 설정된 경우, 애플리케이션은 끝없이 해당 경로로 리디렉션을 시도하며 사용 중인 인터셉팅 라우터가 원인일 수 있습니다. 이 경우 인터셉팅 라우터가 어떻게 작동하는지 정확히 이해하는 것이 중요합니다. 실제로, 모달을 렌더링하려는 시도는 성공하지 않으며, 이로 인해 무한 새로고침이 발생할 수 있습니다.

    • 관련된 다른 질문에서의 유사 사례를 참조하실 수 있습니다. 이 게시물에서는 리프레시 상황을 위한 intercept route의 사용 이유에 대해 설명합니다.
  2. 상태 관리 로직의 문제:
    상태 관리 코드(예: React 상태 및 useEffect)에서 주의 깊게 다뤄야 할 부분으로, 상태 변경이 무한히 반복되는 경우가 발생할 수 있습니다.

    • 다른 수강생의 비슷한 문제 경험과 해결책을 통해 실마리를 얻을 수 있습니다. 이 경우 사용자 상태의 변경이 리다이렉션을 유발하고, 그로 인해 무한 루프가 발생한 사례입니다.
  3. 라우팅 설정 점검:
    라우터 관련 설정에서의 실수도 원인이 될 수 있으며, 특히 인터셉션 라우팅을 사용할 때 더 주의가 필요합니다.

위 문제들은 보통 코드의 특정 부분에서 로직이 혼재되어 발생합니다. 사용 중이신 useRouter와 관련된 문제는 이와 관련된 코드 로직의 신중한 점검을 통해 해결할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저도 넥스트에서 왜 무한 로딩을 시키는지는 알 수가 없습니다. 넥스트 내부 라우터의 이슈이지 않을까 싶습니다. 아니면 핫리로딩 관련 문제일 수도 있고요. 프로덕션 모드로 빌드 시에도 똑같은 문제가 일어나지 않으면 단순 dev모드의 문제일 수도 있습니다.

제로님의 프로필 이미지
제로
질문자

답변 감사합니다! 😉

제로님의 프로필 이미지
제로

작성한 질문수

질문하기