お知らせ
現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
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のデータフェッチについてはこっち
データの取得方法について
getStaticPropsexport 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外のファイルを読めます