我正在 Next.js 中开发一个小型应用程序,但我还没有完全理解客户端渲染和服务器端渲染。
我一直在按照这个关于使用 Supabase 设置 NextJS 的优秀指南进行工作。
根据Next.js 文档:
一旦在文件中定义了“use client”,导入到其中的所有其他模块(包括子组件)都被视为客户端包的一部分
因此,如果我使用 anAuthProvider来包装应用程序(如指南中所示),但AuthProvider标记为"use client",我想知道{children}布局中的 是否也自动成为客户端捆绑包的一部分。
我的猜测是“不”,因为它们不是 的子级AuthProvider,只是相邻的 ReactElements (或其他东西),但我很感激有人为我确认和澄清术语。
// AuthProvider.tsx
"use client";
...
Run Code Online (Sandbox Code Playgroud)
// layout.tsx
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
<AuthProvider>
{children}
</AuthProvider>
</body>
</html>
);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!