- 리액트는 모두 클라이언트 측에서 처리된다.
- 서버가 아닌 사용자의 브라우저에서 처리가 된다.
- 문제는 아니지만 무엇을 구축하느냐에 따라 문제가 될 수 있다.
- CSR의 로딩 화면은 요청된 페이지가 아직 해당 데이터를 포함하지 않기 떄문이다.
- 로그인을 해야 볼 수있는 관리자 페이지는 SEO가 그렇게 중요하지는 않다.
- 검색 엔진을 통해 검색이 되어야하고, 많은 콘텐츠가 포함되있으면 SEO를 중요하다.
- 유저가 페이지에 접근했을때, 서버에서 데이터 패칭이 일어나고, 모든 내용을 포함한 페이지가 제공된다.
- 사용자들이 깜빡거리는 로딩거리는 현상 없음.
- 리액트에도 SSR 기능이 있낀하다.
- Next.js는 자동으로 pre-rendering하는 기능을 제공한다.
- 페이지를 방문하면 pre-render되어 페이지가 제공된다.
- 서버측에서 받은 데이터가 미리 html이 들어가 있다.
- pre-render이후에는 react로 동작된다.
- 기존 특징은 유지하면서 초기 로딩때 미리 렌더링된 페이지를 보여준다.
File-based Routing
- 라우팅 : 사용자에게 여러 개의 페이지가 있는 듯한 착각을 불러 일으키는 것.
- 페이지를 이동하면서 탐색하는게 라우팅의 역할.
- 라우터는 URL을 확인해, URL이 변경될때 브라우저가 요청을 서버로 보내는 기본 동작을 방지하고, 그 대신에 React를 통해 페이지 상에 다른 콘텐츠를 렌더링 한다.
- 즉 다른 URL마다 다른 컴포넌트를 보여준다.