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

 키키님의 프로필 이미지

작성한 질문수

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

Main, SignupModal css 설명

로그인 모달창 새로고침 시 배경 메인 페이지 사라지는 현상

24.05.20 01:42 작성

·

151

·

수정됨

0

로그인 버튼을 클릭하면 우선 '/login' 주소로 이동했다가 'i/flow/login'으로 이동하기 때문에 이때 '/login'에서 배경이 메인 컴포넌트를 보여줘야 메인 페이지가 바탕이 되고로그인 모달 창을 띄운다는 점은 이해했습니다.

따라서 app/(beforeLogin)/login/page.tsx 에서 Main 컴포넌트를 보여주도록 했습니다.

export default function Login() { 
       const router = useRouter(); 
       router.replace("/i/flow/login"); 
       return <Main />;
 } 

문제는 '/i/flow/login' 에서 새로고침하면 모달 창은 그대로지만 배경은 메인 페이지가 아닙니다. 이때 아래와 코드와 같이 따로 Main 컴포넌트를 불러오면 새로고침 시, 배경은 메인 페이지로 잘 나옵니다.그런데 강의와 깃허브 코드를 보니 LoginModal 컴포넌트만 보여주고 있습니다.

LoginModal 컴포넌트만 있어도 app/(beforeLogin)/page.tsx에서 Main 컴포넌트를 보여주고 있으므로

app/(beforeLogin)/layout.tsx에서 Main 컴포넌트가 {children}에 할당된다고 생각했습니다.

따라서 아래 코드에서 Main 컴포넌트가 없어도 배경은 메인 페이지가 나온다고 생각했습니다.

 

아래 코드와 같이 Main 컴포넌트가 있으면 새로고침 시, 메인 페이지가 배경이 되고 그 위에 로그인 모달창이

띄워지지만 Main 컴포넌트가 없으면 새로고침 시, 메인 페이지가 빈 페이지가 나옵니다.

여기서 Main 컴포넌트를 넣어서 해결해도 되는건지 의문이 들었습니다.

아래 코드에서 Main 컴포넌트를 넣지 않으면 Main 페이지가 어떻게 배경으로 보여지는 건지 알고 싶습니다!

import LoginModal from "@/app/(beforeLogin)/@modal/(.)i/flow/login/page"; 
import Main from "@/app/(beforeLogin)/_component/Main"; 

export default function Page() { 
    return ( 
            <> 
           <LoginModal /> 
           <Main /> 
           </> 
    ); 
}

답변 1

0

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

2024. 05. 20. 12:06

https://www.inflearn.com/questions/1259088/comment/339538

이 댓글 참고하시면 될 것 같습니다!

 키키님의 프로필 이미지

작성한 질문수

질문하기