タイトルは次のように書き換えられます: Nextjs が _app.js を検出しているかどうかは不明; エラー: useSession は <SessionProvider /> でラップする必要があります
<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>