[Next.js] 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) ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๊ณผ

  1. ์กฐ๊ฑด๋ถ€ ๊ฒฝ๋กœ๊ฐ€ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ด์ง ex)๋กœ๊ทธ์ธ ์ „์˜ ์ƒํƒœ , ๋˜๋Š” ๋กœ๊ทธ์ธ ํ›„์˜ ์ƒํƒœ

  1. ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณต์žกํ•œ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ์ค„์—ฌ์คŒ
  2. ๊ฐ ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์ƒํƒœ์™€ ์—๋Ÿฌ ์ƒํƒœ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌ๊ฐ€๋Šฅ