Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- html
- frontend
- Union Type
- 프론트앤드 기초
- CSS
- react
- useMemo
- 채팅개발
- 유니온타입
- javascript 수학
- 프론트앤드개발자
- intersection type
- useCallback
- next.js
- 프론트앤드 사이드프로젝트
- 자바스크립트
- 타입스크립트 기초
- 개발일기
- 프론트앤드
- 프론트앤드 개발자
- 인터섹션타입
- react기초
- 프론트앤드개발
- 리액트기초
- 리터럴타입
- 타입스크립트
- javascript
- typescript
- 리액트
- prompth
Archives
- Today
- Total
404 page not found : 기록장
[Next.js] getStaticProps와 getServerSideProps 본문
Next.js는 React 기반의 서버사이드 렌더링 프레임워크로, 페이지를 서버에서 렌더링하여 초기 로딩 속도를 개선할 수 있습니다. 이때 getStaticProps와 getServerSideProps는 페이지에서 필요한 데이터를 서버에서 미리 가져와 렌더링하는 방식을 제공합니다.
getStaticProps
getStaticProps는 빌드 타임에 호출되어 페이지에 필요한 데이터를 미리 가져옵니다. 이후 브라우저에서 해당 페이지를 요청할 때는 서버에서 렌더링된 페이지가 캐시되어 바로 보여지게 됩니다. 이를 사용하면 초기 로딩 속도를 개선할 수 있습니다.
예시 코드:
export async function getStaticProps() {
const res = await fetch('<https://api.example.com/data>');
const data = await res.json();
return {
props: {
data
}
}
}
getServerSideProps
getServerSideProps는 런타임에 호출되어 페이지에 필요한 데이터를 가져옵니다. 이후 브라우저에서 해당 페이지를 요청할 때마다 서버에서 렌더링된 페이지를 반환합니다. 이를 사용하면 항상 최신 데이터를 보여줄 수 있습니다.
예시 코드:
export async function getServerSideProps(context) {
const res = await fetch(`https://api.example.com/data?id=${context.params.id}`);
const data = await res.json();
return {
props: {
data
}
}
}
위 예시 코드에서 context.params.id는 동적 라우팅을 사용하는 경우 해당 페이지의 파라미터를 가져오는 방법입니다.
결론
getStaticProps와 getServerSideProps는 Next.js에서 데이터를 미리 가져와 페이지를 렌더링하는 방식을 제공합니다. 빌드 타임에 데이터를 가져오는 getStaticProps와 런타임에 데이터를 가져오는 getServerSideProps를 적절하게 사용하여 초기 로딩 속도와 최신 데이터 보여주기를 개선할 수 있습니다.
'React' 카테고리의 다른 글
| [React] useMemo와 useCallback (0) | 2023.03.02 |
|---|---|
| [React 기초] Virtual DOM (0) | 2023.03.02 |
| [React] React 함수형 최적화 하기 (0) | 2023.03.02 |
| [React 기초] 라이브러리 없이 Pagination 구현 (0) | 2021.12.02 |
| [React 기초] React-hook-form Library (0) | 2021.12.02 |