現在、_document.jsを使用してnextJsアプリにcssを挿入していますが、_app.jsを使用してページにデータを挿入できるようにしたいと考えています。 _documentと_appをタンデムで使用できるのか、それともどちらか一方のみを使用する必要があるのか疑問に思っていましたか?
簡単な答え:はい、両方を使用できます。それらは異なる目的を果たし、同じアプリケーションで使用できます。
Nextjsウェブサイトによると:
Next.jsは、Appコンポーネントを使用してページを初期化します。
オーバーライドするには、
./pages/_app.js
ファイルを作成し、Appクラスをオーバーライドします
そして
Next.jsのページは、周囲のドキュメントのマークアップの定義をスキップします。たとえば、
<html>
、<body>
などを含めないでください。このデフォルトの動作をオーバーライドするには、./pages/_document.js
でファイルを作成する必要があります。このクラスでDocumentクラスを拡張できます。
注:_document.js
はサーバー側でのみレンダリングされ、クライアント側ではレンダリングされません。そのため、onClick
などのイベントハンドラは機能しません。