Next.js 13实验性app目录中,next-auth v4的_app.js应放在哪里?
Next.js 13 App 目录下 Next-Auth v4 Provider 的放置方案
在 Next.js 13 的 App 目录架构下,不需要再使用 pages/_app.js,而是要把 Next-Auth 的 SessionProvider 放在 App 目录的根布局文件中,具体操作如下:
- 定位到 App 目录下的
layout.js(或layout.tsx)文件,这是应用的根布局,所有页面都会继承该布局的配置。 - 在该文件中导入 Next-Auth 的
SessionProvider,将布局的子内容全部包裹在SessionProvider内部。
示例代码:
import { SessionProvider } from "next-auth/react" export default function RootLayout({ children }) { return ( <html lang="zh-CN"> <body> <SessionProvider>{children}</SessionProvider> </body> </html> ) }
这是因为 App 目录采用布局嵌套架构,根布局会作用于所有路由页面,将 SessionProvider 放在此处能确保全局范围内都可访问 Next-Auth 的会话信息,完全替代了原 pages 目录下 _app.js 的全局包装作用。
内容的提问来源于stack exchange,提问作者NL3294
相关产品推荐
相关产品推荐

