다음.제가 직접 만든 JS+ 프리렌더링입니다.
7473 단어 nextjsjavascriptnode
미리 렌더링
page
.이것이 바로 다음 단계다.js 프레임워크는 클라이언트가 아닌 서버에서 HTML을 생성합니다.js 도서관.hydration
라고 명명합니다.정적 생성
build time
-npm run build
에서 생성되고 요청마다 다시 사용됩니다.즉, HTML이 이미 서버에 존재하므로 프레임에서 HTML을 생성할 필요가 없습니다.서버측 렌더링
우리는 정적 생성과 서버 쪽 렌더링 사이에서 무엇을 선택할 수 있습니까?
I recommend that is the data dependence
. 페이지의 내용이 시간에 따라 바뀌지 않으면우리는 정적 생성을 사용해야 한다. 반대로 서버측에서 보여야 한다. 페이지의 내용 데이터는 시간의 추이에 따라 변화한다.데이터와 데이터의 정적 생성.
build
시간에 HTML을 생성할 수 있다.getStaticProps
정적 생성 데이터.async
및 명명getStaticProps
을 사용하여 이 함수를 내보낸 페이지의 경우getStaticProps
는 구축할 때 실행됩니다.props
속성에 데이터를 추출합니다.export default function ExamplePage({ props }) {
return ( ... );
}
export async function getStaticProps() {
const data = await fetch('...');
return {
props: data
}
}
getStaticProps
는 Server-side
하에서만 실행됩니다.이것은 이 함수가 client-side
에서 영원히 실행되지 않을 것이라는 것을 의미한다.브라우저에서 코드를 묶지 마십시오.client-side
의 조회 데이터베이스에 영원히 접근하지 마십시오.그것은 server-side
에서만 운행된다.getStaticPaths
함수를 사용하여 URL에서 동적 인자를 해석해야 하는 이유이다.export default function ExamplePage({ props }) {
return ( ... );
}
export async function getStaticPaths() {
return {
paths: [
{ params: { id: '1' } },
{ params: { id: '2' } }
],
fallback: true
};
}
export async function getStaticProps(context) {
const data = await fetch('...');
return {
props: { data }
}
}
서버측 렌더링
export async function getServerSideProps(context) {
return {
props: {
// props for your component
}
}
}
getServerSideProps
는 모든 요청에서 호출되기 때문에 함수의 context
매개 변수는 항상 요청한 데이터에서 나온다. 이것은 모든 요청이fetch 데이터를 호출하고 time by time
의 데이터가 변화한다는 것을 의미한다.getStaticProps
.서버가 모든 요청의 결과를 계산하기 때문이다.클라이언트 렌더링.
client-side rendering
.dashboard
페이지에 사용됩니다.SWR
private
입니다.그들은 우리가 반드시 이런 방법을 써서 React hook
의 다른 데이터를 얻어야 한다고 건의했다.Reference
이 문제에 관하여(다음.제가 직접 만든 JS+ 프리렌더링입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hte305/pre-rendering-on-my-own-2b05텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)