[Next.js] Routing

이로이로·2023년 3월 17일
0

Next.js

목록 보기
6/8
post-thumbnail

Router란?

흔히 네트워크 용어로 많이 사용된다. 특정 주소가 있고 그 주소에 도달해서 그 주소와 매칭되어 있는 데이터들을 받아서 사용하는 일련의 과정을 Routing이라고 한다. 이를 도와주는 도구를 Router라고 한다. React에서는 별도의 라우터를 제공하지 않기 때문에 React-Router라는 라이브러리를 사용해서 라우팅을 한다.

자세한 사항은 Next.js 공식 홈페이지를 참조하자.
Next.js(router)

Next.js의 Routing은 파일시스템 기반으로 파일을 만들면 그것이 즉각적으로 라우터로 인지되고 주소와 매핑이 된다.

Pages/ 또는 src/pages/

파일시스템 기반이기 때문에 폴더의 depth가 그대로 url에 반영된다.

pages/product/fits-item.js ➡️ /product/first-item
pages/settings/my/info.js ➡️ /settings/my/info

위와 같은 파일 경로의 url은 아래와 같이 표현된다.

하지만 depth가 깊어질수록 참조할 떄 불편함이 생길 수 있다. 이를 위한 setting은 아래와 같다.

루트 경로에 jsconfig.json파일을 생성한다. 이곳에 설정을 하면 절대경로로 접근할 수 있게된다.

jsconfig.json

{
    "compilerOptions": {
        "baseUrl": "src"
    }
}

설정한 후 first-item 페이지의 경로를 아래와 같이 바꿔준다.

이전 경로

import Layout from '../../components/Layout';
import SubLayout from '../../components/SubLayout';

바뀐 경로

import Layout from 'components/Layout';
import SubLayout from 'components/SubLayout';

🏷 Slug

라우팅을 변수명처럼 다이나믹하게 사용하는 방법

pages/category/[slug].js ➡️ /category/:slug (ex. /category/food)

profile
이로이로

0개의 댓글