getServerSideProps() は呼び出されません nextJS 13
P粉211600174
P粉211600174 2023-10-31 15:38:58
0
2
788

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

ここは /app/login/page.js

リーリー

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

リーリー

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

P粉211600174
P粉211600174

全員に返信(2)
P粉166779363

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

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

さらに、

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

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

いいねを押す +0
P粉663883862

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

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート