reactjs - NextAuth 提供者组件
问题描述
在 NextAuth 的官方文档中,他们说以这种方式用 Provider 包装组件:
`
import { Provider } from "next-auth/client"
export default function App({ Component, pageProps }) {
return (
<Provider session={pageProps.session}>
< Component {...pageProps} />
</Provider>
)
}`
如果我也以这种方式包装布局和头部有什么问题吗?
function MyApp({ Component, pageProps }) {
// Use the layout defined at the page level, if avaiable (in my case for the QeAs)
const getQeAsLayout = Component.getQeAsLayout || ((page) => page);
return (
<Provider session={pageProps.session}>
<Head>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
</Head>
<ThemeProvider theme={brandTheme}>
<Layout>{getQeAsLayout(<Component {...pageProps} />)}</Layout>
</ThemeProvider>
</Provider>
);
}
请不要考虑关于 getQeAsLayout 的行
解决方案
不,这没有任何问题。会话提供者应该可以正常工作。
组件中的每个孩子都Provider
应该有权访问session
. 如文档中所述,提供者在后台使用 React Context 。查看React Context Provider了解更多信息。
推荐阅读
- class - 是否可以在 Raku 的类之外访问静态方法和属性?
- python - 二叉树的查找方法不返回任何内容
- amazon-web-services - 对 AWS Athena 表进行分区以查询具有高基数的 S3 数据的最佳方法
- r - 将条形图添加到 geom_density 的底部
- android - Android 构建项目失败(原因:java.lang.ClassNotFoundException:org.antlr.v4.runtime.CharStreams)
- mysql - 如何删除 MySQL 中的重复行?
- c# - 在 Core 3.1 MVC 上重构启动
- c# - Quartz.Net 调度程序在 Azure 中不起作用
- coq - Coq 中 Reals 的第一个证明
- python - Python 给出: ConnectionResetError: [WinError 10054] 一个现有的连接被远程主机强行关闭