小编Tom*_*Tom的帖子

在 Next.js 13 中使用标记为“use client”的提供程序包装整个应用程序

我正在 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)

谢谢!

reactjs next.js

5
推荐指数
1
解决办法
2149
查看次数

标签 统计

next.js ×1

reactjs ×1