如何在多个提供程序中包装 _app.js?

IT技术 javascript reactjs redux next.js next-auth
2021-05-16 02:27:10

我想知道是否有可能以及如何_app.js在 Redux 提供程序中包装我的顶级页面,因为我已经使用 Next-auth 提供程序包装了它,例如:

import React from "react"
import { Provider } from 'next-auth/client'
import '../public/global.scss'

export default function App ({ Component, pageProps }) {
  return (
      <Provider
        options={{
          clientMaxAge: 0,
          keepAlive: 5 * 60
        }}
        session={pageProps.session} >
        <Component {...pageProps} />
      </Provider>
  )
}

问题是,当我尝试添加 Redux 时,<Provider ..它说Provider已定义。

1个回答

您可以使用as.

import React from "react"
import { Provider as NextAuthProvider } from 'next-auth/client'
import { Provider as ReduxProvider } from 'react-redux'
import '../public/global.scss'

export default function App ({ Component, pageProps }) {
    return (
        <ReduxProvider>
            <NextAuthProvider
                options={{
                    clientMaxAge: 0,
                    keepAlive: 5 * 60
                }}
                session={pageProps.session} >
                <Component {...pageProps} />
            </NextAuthProvider>
        </ReduxProvider>
    )
}