
서버 측에서 페이지를 렌더링 하는 것

Client는 원하는 페이지를 Server에 요청
Server는 요청받은 페이지의 데이터를 불러옴
그리고 요청받은 페이지의 완성된 .html을 생성
반환
브라우저는 렌더링이 완료된 페이지를 화면에 렌더링

리액트 컴포넌트와 같이 자바스크립트로 작성되어 있는 페이지를 실제 HTML 코드로 변환하는 과정

HTML을 화면에 실제로 그려내는 것
페이지별로 다른 렌더링 전략 적용 가능
export default function Home({ name }) {
return <div>{name}</div>;
}
export const getServerSideProps = async () => {
// ssr을 위해 서버측에서 페이지 컴포넌트에게 전달할 데이터를 설정하는 함수
return {
props: {
name: "KOREA",
},
};
};
getServerSideProps함수를 비동기(async)로 만들어줌객체를 반환props라는 프로퍼티가 반드시 있어야 함객체로 생성되어야 함
"/"이 경로에 접속하기 위해 요청을 보내면getServerSideProps함수를 실행Home 컴포넌트를 호출따라서 함수 내에 콘솔을 확인하면





(비교) 리액트에서 api를 호출했을 때(CSR 방식)


import SubLayout from "@/components/SubLayout";
export default function Search() {
return <div>Search Page</div>;
}
Search.Layout = SubLayout;
export const getServerSideProps = async (context) => {
console.log(context);
return {
props: {},
};
};

query 객체가 존재 const { q } = context.query;

