Rumah > Soal Jawab > teks badan
P粉9669797652023-09-04 23:19:18
Saya rasa saya telah menyelesaikan masalah ini, saya memutuskan untuk melupakan _app.js dan meletakkan semuanya dalam fail layout.js tersuai saya. Saya masih perlu menguji sama ada pengguna akan kekal log masuk kerana header.js berada di luar layout.js.
Bagaimana saya menyelesaikannya: Saya menambah
'use client' import { SessionProvider } from "next-auth/react";
kepada layout.js
(fail yang disertakan dengan Next.js secara lalai) dan lulus sesi dalam parameter fungsi yang "dieksport" (fungsi lalai RootLayout dieksport). Kemudian saya membungkus semua parameter return() dengan .
Ini adalah sebahagian daripada kod:
export default function RootLayout({ children, session }) { return ( <html lang="en"> <SessionProvider session={session}> <body>{children}</body> </SessionProvider> </html> ) }
BAHAGIAN PENTING: Jika anda menggunakan 'use client'
选项,Next将不允许您导出元数据,因此您需要删除< code>从代码中导出 const 元数据 = {....
KEMASKINI: Atas sebab tertentu ia tidak berfungsi pada Vercel (walaupun ia dijalankan secara tempatan). Saya akan cuba membetulkannya dan mengemas kini jawapan saya. TL;DR: Penyelesaian ini berfungsi secara tempatan tetapi tidak berfungsi apabila digunakan ke Vercel.