検索条件
全1件
(1/1ページ)
nextjs.orgをサラーっと読み流したログ
Next.js 9.3時点でのドキュメント、SSRについては基本言及しない
ドキュメントの和訳でもなんでもなく単なる書き殴りです
書き殴りなので情報の漏れなどは当然ありますし、そもそも知りたいところしか読んでません。
つまり、ここに書いてあることは何も信じてはならないので、真実は君の目で確かめて欲しい。
私はまだコードも書いてないし何もわからない、知らない、関知できない!すまないッッ!!!!
create-next-app --example with-typescript project-name
dev
- 開発サーバーが上がるよbuild
- プロダクションビルドを生成するよstart
- プロダクションサーバーを上げるよpages/about.tsx
のようにすると静的ページが生えるよ。やったね。pages/posts/[id].tsx
なら動的ルーティングも可能だ!
export
するときは面倒でもexport default
しないと上手く行かないので注意しよう
export const Foo = () => { return <p /> };
Next.jsでは次の二種類のレンダリングに対応しているよ
勿論、CSRはどちらでも使えるのだけど、CSRのデータフェッチについてはこっち
データの取得方法について
getStaticProps
export const getStaticProps = (context) => {
return {
props: {}, // will be passed to the page component as props
};
};
context
の中身はここを参照
props
required。突っ込みたいデータを入れてねrevalidate
Optional。ISRをする時に使うよ。詳しくはここ。notFound
Optional。true
にすると404が表示される。使用例は以下のような感じexport const getStaticProps = (context) => {
const res = await fetch(`https://.../data`);
const data = await res.json();
if (!data) {
return {
notFound: true,
};
}
return {
props: {}, // will be passed to the page component as props
};
};
public/
配下は静的ファイルの配置場所として使える
fs.readFileSync('public/biography.yaml')
getStaticProps()
にpath.join(process.cwd(), 'contents/biography.yaml')
みたいに書いてやるとpublic外のファイルを読めます