Next.js中_app.tsx未生效却能解决next-auth useSession报错问题咨询
问题排查方案
- 先检查
_app.tsx的结构:你得确保橙色背景的div包裹了页面组件,而且设置了足够的高度(比如minHeight: "100vh"),不然可能因为页面内容高度不够,背景显示不出来。举个正确的写法:
import { SessionProvider } from "next-auth/react"; import type { AppProps } from "next/app"; export default function App({ Component, pageProps: { session, ...pageProps } }: AppProps) { return ( <SessionProvider session={session}> <div style={{ backgroundColor: "orange", minHeight: "100vh" }}> <Component {...pageProps} /> </div> </SessionProvider> ); }
- 检查样式优先级:如果你的页面组件(比如/dashboard)自己设置了背景色,会把_app里的背景覆盖掉。可以临时给div加
!important测试,或者修改页面组件的样式。 - 确认文件位置:
_app.tsx必须放在pages文件夹的根目录下,不能放在子文件夹里,不然Next.js不会识别它作为全局应用组件。 - 重启开发服务器:有时候Next.js的缓存会导致修改不生效,关掉
npm run dev再重新启动试试。
内容的提问来源于stack exchange,提问作者LifeAsDev
相关产品推荐
相关产品推荐

