개발자
안녕하세요. nextjs 13에서 변경된 app 디렉토리에서는 getStaticProps를 지원하지 않고 fetch의 cache로 getStaticProps 등의 동작을 수행할 수 있게 된 부분에 있어서 의문점이 생겨서 질문 남깁니다. 1. 서버 컴포넌트니까 console등은 서버에서 찍히는 것을 확인하였습니다. 이것은 서버 컴포넌트는 항상 ssr로 동작한다는 의미인것인가요? 2. fetch를 사용하지 않고서는 static, ssr, isr 을 구분시킬 수 없는 건가요? 3. 이전 버전(12)에서는 getStaticProps를 사용해서 fs, gray-matter 같은 static하게 서버에서 생성 해놓기를 원했던 경우에 사용하기도 하였는데 이런 부분은 구현할 수가 없는 건가요? (코드 첨부)
답변 1
안녕하세요. next.js 베타 문서를 빠르게 훑어보고 와서 답변드립니다. 1. 서버 컴포넌트니까 console등은 서버에서 찍히는 것을 확인하였습니다. 이것은 서버 컴포넌트는 항상 ssr로 동작한다는 의미인것인가요? 네, 서버 컴포넌트는 항상 서버에서 렌더해서 내려줍니다. app 디렉토리라면 서버 컴포넌트가 디폴트로 사용된다고 합니다. - https://beta.nextjs.org/docs/rendering/server-and-client-components#server-components 2. fetch를 사용하지 않고서는 static, ssr, isr 을 구분시킬 수 없는 건가요? 음, 확실하지는 않지만 기존 getStaticProps, getServersideProps 등을 버리고 fetch와 cache 메커니즘을 사용하도록 유도하는 것 같긴합니다. - https://beta.nextjs.org/docs/data-fetching/fetching#static-data-fetching 위 문서 하단으로 내려보시면 "Data fetching without fetch()" 단락을 참고해보시면 될 것 같습니다. 3. 이전 버전(12)에서는 getStaticProps를 사용해서 fs, gray-matter 같은 static하게 서버에서 생성 해놓기를 원했던 경우에 사용하기도 하였는데 이런 부분은 구현할 수가 없는 건가요? 첨부해주신 코드는 서버 파일 시스템에서 데이터 처리 로직을 돌리는 것 같은데, 동일하게 사용 가능할 것 같습니다. getStaticProps에 있는 로직을 컴포넌트 안에서 바로 사용 가능해보여요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!