0

シナリオ: 私はこのような 1 つの URL を持ってい/posts/:id/edit ます。標準の nextjs 構造を使用すると、ファイルは次の場所にあります。 posts -> [id] -> edit.tsx

この URL 内で、id から反応から AJAX 呼び出しを行い、投稿を取得してユーザーに編集フォームを表示します。

nextjs が毎回サーバーを呼び出し、すべての ID に対して getStaticProps と getStaticPaths を実行するという面倒を避けたいと考えています。

すべての異なる ID に対して getStaticProps を再利用するだけで十分です。

export async function getStaticProps({ locale }: GetStaticPropsContext): Promise<GetStaticPropsResult<SSRConfig>> {
    return {
        props: {
            ...(await serverSideTranslations(locale || DEFAULT_LOCALE, tNamespaces)),
        },
    };
}

getStaticPathsgetメソッドはまったく必要ありませんが、次はそれを使用する必要があります。

現在、next は .next/static/pages の下に、考えられるすべての ID に対して 1 つの html,json ペアを生成し、多くの役に立たないデータを生成します。

すべての異なる投稿 ID には同じ props があります。基本的に、この特定のページについては、ID に関係なく同じ js と html を返し、次は大量のページの作成と getStaticPaths の実行を停止します。

メソッドなしでページを保持することはできません。そうしないと、次のビルドまたは開始が機能しません。

このユースケースを最適化する方法はありますか? .next/static/pages の下で、ID ごとに何十万もの役に立たない html が生成される電子メール確認トークンなども含めて、このようなシナリオがたくさんあります。それらを削除するcronジョブがありますが、適切な解決策ではありません

4

0 に答える 0