検索条件
全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のデータフェッチについてはこっち
データの取得方法について
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外のファイルを読めます