nextJS 13 に慣れようとしています。
私が遭遇したのは、getServerSideProps
関数がページ プロパティを事前レンダリングしないということでした。初めての試みなのでやり方が間違っているのか分かりません。
ここは /app/login/page.js
ここで達成しようとしている重要なことは、ログイン ページを表示する前に、axios リクエストを使用してサーバーのセッション キーを確認することです。ユーザーがログインしている場合、ユーザーはホームページにリダイレクトされます。これを機能させることができれば、今後のコードは次のとおりです:
リーリーnpm run dev
を使ってみました
それでも同じ結果が得られます...
P粉1667793632023-11-01 11:37:06
getServerSideProps
を使用して、ページを表示する前にサーバー側のレンダリングと認証チェックを実行しようとしているようです。コードから判断すると、正しい軌道に乗っているようです。
ただし、getServerSideProps
から返されたプロパティを Login
コンポーネントに渡していないことに気付きました。サーバー側のプロパティをコンポーネントに渡すには、次のように message
プロパティを受け入れるように Login
関数を変更する必要があります。
リーリー
getServerSideProps を使用しているため、
npm run dev コマンドはページの静的 HTML ファイルを生成しません。代わりに、リクエストごとにページが生成されます。したがって、
getServerSideProps が適切に動作していることをテストしたい場合は、ブラウザでページにリクエストを作成し、コンソール ログで
console.log( ) ステートメントを確認する必要があります。
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
フォルダーを使用する場合。
これは、次のようなことを試せることを意味します:
リーリーもちろん、メッセージの小道具を追加する必要があります。