개츠비 설치와 기본 프로젝트 생성해야 밑의 내용을 따라할 수 있습니다.
이번 포스트는 가정이 필요하다.
header.js 그리고 footer.js가 src -> components(생성)에 저장되어있다.
시작!
헤더(header), 푸터(footer)를 리액트에서 사용할 때 이렇게 사용하기도 한다.
헤더와 푸터 가져와서 위와 아래에 적용시킨다.
인덱스 페이지 - 레이아웃 적용 전
import React from 'react'
import Header from '../components/header'
import Footer from '../components/footer'
const IndexPage = () => {
return(
<div>
<Header />
내용
<Footer />
</div>
)
}
export default IndexPage
인덱스 페이지 - 레이아웃 적용 후
import React from 'react'
import Layout from '../components/layout'
const IndexPage = () => {
return (
<Layout>
내용
</Layout>
)
}
export default IndexPage
※ 모든 내용을 Layout에 넣어 주는게 포인트
레이아웃 만들기
방법은 헤더나 푸터 만드는것과 비슷하다.
1. 우선은 앞서 만들어 놓은 components 폴더에 layout.js 만들기
2. 레이아웃 컴포넌트 구성
import React from 'react'
import Header from './header'
import Footer from './footer'
const Layout = (props) => {
return (
<div>
<Header />
{props.children}
<Footer />
</div>
)
}
export default Layout
저 props.children 이라는 녀석이 앞서 넣은 <Layout></Layout> 속의 내용을 가져온다.
헤더와 푸터도 이 페이지에만 넣어주고, 다른 컴포넌트도 마찬가지.
이 레이아웃 페이지에서 전체적인 페이지의 레이아웃을 관리할 수 있는 신세계가 열린다.
끝!
'Web Dev > Gatsby :: 개츠비' 카테고리의 다른 글
[Gatsby] 개츠비에 이미지 올리기 ft 플러그인 (0) | 2020.11.13 |
---|---|
[Gatsby] 개츠비 데이터, GraphQL 그리고 playground (0) | 2020.11.11 |
[Gatsby] CSS와 플러그인(ft. sass) 설치 & 적용방법 (0) | 2020.10.14 |
[Gatsby] Link로 개츠비 페이지들 연결하기 (0) | 2020.10.13 |
[Gatsby] 개츠비 설치 & 기본 프로젝트 만들기 (0) | 2020.10.12 |