next.js 下一个类型错误:使用SessionProvider时无法读取null的属性“useState”

u3r8eeie  于 2023-04-30  发布在  其他
关注(0)|答案(2)|浏览(207)

当我尝试将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",

  }
})

我还注意到我的会话在注销时是一个空对象。谢谢!

k4emjkb1

k4emjkb11#

以前也发生过。你可以尝试使用“next-auth”:“^4.0.1”添加到包中的“依赖项”。json。

xxls0lw8

xxls0lw82#

在我的案例中,我解决这个问题的方法是做两件事:
1.我在包中的“依赖项”中添加了以下代码行。json文件
"next-auth": "^4.22.1"
1.我用以下代码行更新了npm和node:
npm update npm update npm -g
然后,当我重新启动我的服务器时,一切都工作得很好。

相关问题