You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js中使用SessionProvider后出现默认导出非React组件错误求助

问题解决

错误原因

  1. Next.js App Router的根布局要求<html>必须是根组件的直接子元素,不能被其他组件(比如SessionProvider)包裹。
  2. 你的rootLayout组件没有默认导出,这是App Router布局组件的强制要求。

修正方案

  • 将SessionProvider移到<body>标签内部,包裹需要访问会话的内容(比如<main>和Nav)
  • 给rootLayout添加默认导出语句

修改后的layout.js代码

import Nav from '@components/Nav'
import '@styles/globals.css'
import { SessionProvider } from "next-auth/react"

export const metadata = {
    title: "prompt",
    description: "this is a page"
}

const rootLayout = ({ children }) => {
  return (
    <html>
      <body>
        <div className='main'>
          <div className='gradient' />
        </div>
        <SessionProvider>
          <main className='app'>
            <Nav />
            {children}
          </main>
        </SessionProvider>
      </body>
    </html>
  )
}

export default rootLayout

内容的提问来源于stack exchange,提问作者krish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:12:03