当我尝试将SessionProvider添加到我的NextJS应用程序时,我得到TypeError: Cannot read property 'useState' of null
错误。我不明白我该怎么做?我可以使用Google登录,没有任何问题。只有当我添加SessionProvider提供程序时,我才得到这个错误。
// _app.tsx
import '../styles/globals.css'
import type { AppProps } from 'next/app'
import { SessionProvider } from 'next-auth/react'
function MyApp({ Component, pageProps: { session, ...pageProps } }: AppProps) {
return (
<SessionProvider session={session}>
<Component {...pageProps} />
</SessionProvider>
)
}
// [...nextauth.js]
import NextAuth from 'next-auth'
import GoogleProvider from 'next-auth/providers/google'
export default NextAuth({
providers: [
GoogleProvider({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_SECRET,
}),
],
pages: {
signIn: "/auth/signin",
}
})
我还注意到我的会话在注销时是一个空对象。谢谢!
2条答案
按热度按时间k4emjkb11#
以前也发生过。你可以尝试使用“next-auth”:“^4.0.1”添加到包中的“依赖项”。json。
xxls0lw82#
在我的案例中,我解决这个问题的方法是做两件事:
1.我在包中的“依赖项”中添加了以下代码行。json文件
"next-auth": "^4.22.1"
1.我用以下代码行更新了npm和node:
npm update npm update npm -g
然后,当我重新启动我的服务器时,一切都工作得很好。