タイトルは次のように書き換えられます: Nextjs が _app.js を検出しているかどうかは不明; エラー: useSession は <SessionProvider /> でラップする必要があります
P粉771233336
P粉771233336 2023-09-04 00:10:21
0
1
556
<p>私は Nextjs、Prisma、Auth0 に関するいくつかのチュートリアルに従ってきました。私の問題は、ヘッダーにログイン/ログアウトボタンを作成しようとした後です(「next-auth/react」</code>から<code>ヘッダーに<code>import { useSession,signIn,signOut} を追加することによって) .js</code> ファイル) を使用すると、 next.js<code>Error: [next-auth]: \`useSession\` を \<SessionProvider /></code> でラップする必要があります。 <code>_app.js</code> ファイルをルート フォルダーに作成し、次に <code>/pages/_app.js</code>、最後に <code>/app/_app に作成してみました。 .js</code>。これらはどれも機能しません。 </p> <p>これは私の<code>_app.jsファイルの内容です: </code></p> <pre class="brush:php;toolbar:false;">import { SessionProvider } from "next-auth/react" デフォルト関数をエクスポート App({ 成分、 pageProps: { セッション, ...pageProps }, }) { 戻る ( <セッションプロバイダー session={session}> <コンポーネント {...pageProps} /> </セッションプロバイダー> ) }</pre> <p>Next がそれを検出して使用していることを確認するにはどうすればよいですか?ファイルはある程度無視されていると思います。 </p> <p><code>_app.js</code> ファイルの場所をプロジェクトのルート フォルダーから <code>/pages/_app.js</code> に変更してみました。そして最後に <コード> ;app/_app.js</code> 。また、<code>.next</code> フォルダーを削除してサーバーを再実行してみましたが、うまくいきませんでした。 </p> <p><strong>アップデート 1: </strong> 私が使用している Next.js バージョン: v13.4.4</p> <p><strong>アップデート 2: </strong> <code>console.log()</code> 関数を <code>_app.js</code> ファイルに追加すると、ターミナルには出力されますが、Firefox には出力されません。 <code>_app.js</code> 検出は正常ですか、それとも問題がありますか? </p> <p><strong>(ある意味)修正しました!以下の私の答えを確認してください。ただし、Vercel にデプロイすると機能しません。 </strong></p>
P粉771233336
P粉771233336

全員に返信(1)
P粉966979765

この問題は解決したと思います。_app.js のことは忘れて、すべてをカスタムのlayout.js ファイルに入れることにしました。 header.js はlayout.js の外部にあるため、ユーザーがログインしたままになるかどうかをテストする必要があります。

私がそれを解決した方法:

を追加しました リーリー

layout.js (デフォルトで Next.js に付属するファイル) に移動し、「エクスポート」される関数のパラメーターにセッションを渡します (デフォルト関数 RootLayout がエクスポートされます)。次に、すべての return() パラメータを でラップしました。

これはコードの一部です:

リーリー

重要な部分: 'use client' オプションを使用すると、Next ではメタデータをエクスポートできなくなるため、export const メタデータをコード = {...。

UPDATE: 何らかの理由で、Vercel では動作しません (ローカルでは動作しますが)。それを修正して回答を更新してみます。 TL;DR: このソリューションはローカルでは機能しますが、Vercel にデプロイすると機能しません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!