Next.整理する
最近、サーバー側レンダリングが再び話題になっています.jsは多くの企業が望んでいる技術です.Next.学習整理js.
Next.jsとは何ですか。
Next.jsはフレームワークであり、Reactでサーバ側レンダリングを簡単に実現できます.React自体はサーバ側レンダリングも可能であるが,実装の複雑さや複雑さなど多くの問題がある.Next.jsは、これらの問題を簡単に解決するのに役立ちます.次のステップです.jsによりSPAの利点とSSRの利点を持ち去ることができる.
Next.js主な機能
コード剥離と単純ルーティング
既存のReactプロジェクトでは、初期レンダリング時にすべての構成部品が劣化します.この方式の欠点は,規模が拡大するにつれて初期負荷時間が増加することである.Next.jsはサーバ側レンダリングとコードジャンプを自動的に提供するため、必要なページのみをレンダリングし、パフォーマンスを向上させる.次へ.jsが要求する構造に従って符号化する.(作成したファイルは、ページフォルダに小文字でルーティングするパスの名前として使用する必要があります.)
またreact-routerのに似たnext/linkを用いて簡単なページルーティングを行うこともできる.react-routerはto="を使用し、next/linkはhrefとasを使用します.
ex)<Link href="/detail">
<div> detail로 이동 </div>
</Link>
next/routerモジュールを使用すると、既存の反応と同じです.ルーティングはpushを使用して行うことができ、このモジュールは以下に説明するプリフェッチもサポートする.
プリデータの読み込み
Next.jsで最も比重の大きい機能.getInitialiPropsメソッドを使用してnext v 9からgetStaticProps、getStaticPaths、getServer SidePropsに分けることをお勧めします.
getInitialProps
import axios from 'axios';
class GetInitial extends React.Component {
static async getInitialProps ({req}) {
const response = await axios.get('https://url~.com');
return {
data: response.data
}
}
render() {
const { data } = this.props;
return (
<div> {this.props.data} </div>
);
}
}
export default GetInitial;
クラス構成部品が起動すると、getInitialiPropsメソッドを使用してレンダリング前に外部データを受信できます.このようにして、受信されたプリデータは、クラス要素のprops値として使用することができる.
componentDidMountと似ていると考えられますが、これはレンダリング回数に差があります.
ComponentDidMount:初期レンダリング後、ComponentDidMount後の状態変化で再レンダリングします.
getInitialiProps:プリデータ設定が完了したらレンダリングします.
nextv 9<=の方法は、「静的生成」か「サーバ側レンダリング」かに分けられます.
[静的作成]getStaticProps/getStaticPaths
<Link href="/detail">
<div> detail로 이동 </div>
</Link>
import axios from 'axios';
class GetInitial extends React.Component {
static async getInitialProps ({req}) {
const response = await axios.get('https://url~.com');
return {
data: response.data
}
}
render() {
const { data } = this.props;
return (
<div> {this.props.data} </div>
);
}
}
export default GetInitial;
各リクエストはhtml
Prefetching
プリフェッチはプリデータパッチをサポートします.は、構成部品をプリフェッチ方法に設定できます.デフォルトはtrueです.
<Link href="/detail" prefetch={true | false}>
<div> detail로 이동 </div>
</Link>
このリンクのプリフェッチリンクのhtmlタグがビューポートに表示されている場合は、Nextとなります.jsは、リンクコンポーネントにリンクされたページのコードを事前にインポートし、プリデータパッチを行います.learn:
https://nextjs.org/docs/getting-started
Reference
この問題について(Next.整理する), 我々は、より多くの情報をここで見つけました https://velog.io/@qortmdalsdl/Next.js-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol