ホームページ  >  に質問  >  本文

getServerSideProps() は呼び出されません nextJS 13

nextJS 13 に慣れようとしています。 私が遭遇したのは、getServerSideProps 関数がページ プロパティを事前レンダリングしないということでした。初めての試みなのでやり方が間違っているのか分かりません。

ここは /app/login/page.js

リーリー

ここで達成しようとしている重要なことは、ログイン ページを表示する前に、axios リクエストを使用してサーバーのセッション キーを確認することです。ユーザーがログインしている場合、ユーザーはホームページにリダイレクトされます。これを機能させることができれば、今後のコードは次のとおりです:

リーリー

npm run devを使ってみました それでも同じ結果が得られます...

P粉211600174P粉211600174376日前638

全員に返信(2)返信します

  • P粉166779363

    P粉1667793632023-11-01 11:37:06

    getServerSideProps を使用して、ページを表示する前にサーバー側のレンダリングと認証チェックを実行しようとしているようです。コードから判断すると、正しい軌道に乗っているようです。

    ただし、getServerSideProps から返されたプロパティを Login コンポーネントに渡していないことに気付きました。サーバー側のプロパティをコンポーネントに渡すには、次のように message プロパティを受け入れるように Login 関数を変更する必要があります。 リーリー

    さらに、

    getServerSideProps を使用しているため、npm run dev コマンドはページの静的 HTML ファイルを生成しません。代わりに、リクエストごとにページが生成されます。したがって、getServerSideProps が適切に動作していることをテストしたい場合は、ブラウザでページにリクエストを作成し、コンソール ログで console.log( ) ステートメントを確認する必要があります。

    これがお役に立てば幸いです!他にご質問がございましたら、お知らせください。

    返事
    0
  • P粉663883862

    P粉6638838622023-11-01 09:35:08

    コメントで述べたように、これに従う必要があります https://nextjs.org/docs/app/building-your-application/data-fetching/fetching#async-and-await -in -server-components Next 13 フォルダーと app フォルダーを使用する場合。

    これは、次のようなことを試せることを意味します:

    リーリー

    もちろん、メッセージの小道具を追加する必要があります。

    返事
    0
  • キャンセル返事