Parallel Routes
Parallel Routes
1. Parallel Routes
- 여러개의 페이지를 렌더링을 동시에 할 수 있도록 하는 기능
- ex) 로그인 팝업창,대시보드 및 소셜 사이트의 피드와 같은 동적인 앱 등
1) 사용 예시
@로 시작하는 폴더 컨벤션을 갖고 있어서, @폴더이름 내부에 page.js를 만들어주면 Parallel Routing을 사용할 수 있다.
-
모달을 띄우기 위해
@modal폴더 안에 page.tsx를 만들어서 해당 로그인 팝업을 구현했다 -
동일한 레이아웃에서 하나 이상의 페이지를 동시에 또는 조건부로 렌더링이 필요
-
예를 들어 동일한 레이아웃을 할당한 슬롯에 같은 props가 전달되어야한다
import { container } from "./main.css";
import { ReactNode } from "react";
type Props = { children: ReactNode; modal: ReactNode };
export default function Layout({ children, modal }: Props) {
return (
<div className={container}>
{children}
{modal}
</div>
);
}2) 얻을 수 있는 결과
- 조건부 경로가 구현이 가능해짐 ex)로그인 전의 상태 , 또는 로그인 후의 상태
- 내부 컴포넌트의 복잡한 분기처리를 줄여줌
- 각 페이지의 로딩 상태와 에러 상태를 분리하여 관리가능