[Gatsby] Layout ComponentsFrontend/React2023. 1. 18. 21:25
Table of Contents
반응형
Layout Components
Gatsby는 기본적으로 레이아웃을 페이지에 자동으로 적용하지 않습니다. 대신 Layout Component를 사용하면 Header 및 Footer, 그리고 일부 페이지에서 사용하는 사이드바와 같은 여러 가지 레이아웃을 만들 수 있습니다. 또한 레이아웃과 페이지 컴포넌트 간에 데이터를 전달할 수 있습니다. 즉, Layout Component를 사용하여 여러 페이지에서 일반적으로 사용하는 Header 및 Footer의 레이아웃을 공유하도록 구성할 수 있습니다.
예제
src/components/
디렉터리를 생성하고 Layout.tsx
파일을 생성합니다.
아래와 같이 Gatsby 의 Link
를 사용하여 페이지를 이동하는 Layout Component를 구성합니다.
// src/components/Layout.tsx
import { Link } from 'gatsby';
import React from 'react';
interface ILayoutProps {
children: any;
}
export default function Layout({ children }: ILayoutProps) {
return (
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/blog">Blog</Link>
</li>
</ul>
</nav>
<main>{children}</main>
</div>
);
}
페이지에 레이아웃을 적용하려면 Layout
Component 를 포함하고 그 안에 페이지 내용을 넣어야 합니다.
레이아웃을 페이지에 적용하는 방법은 다음과 같습니다.
// src/pages/index.tsx
import * as React from 'react';
import Layout from '../components/Layout';
export default IndexPage = () => {
return (
<Layout>
<div>
<h1>Welcome to Home</h1>
</div>
</Layout>
);
};
이 레이아웃이 필요한 모든 페이지와 템플릿에 대해 반복을 합니다.
참고
반응형
'Frontend > React' 카테고리의 다른 글
[Gatsby] useStaticQuery(정적 쿼리 사용) (0) | 2023.01.30 |
---|---|
[Gatsby] Head API 사용 방법 (0) | 2023.01.26 |
[Gatsby] Routing (0) | 2023.01.14 |
Gatsby 설치 및 사용 방법 (0) | 2023.01.09 |
[React] Animations 사용 방법 (0) | 2022.10.14 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!