Will all the children wrapped around this layout be client component or not?
Unanswered
Spectacled bear posted this in #help-forum
Spectacled bearOP
Just like the title says. Here is my layout:
"use client"
import type { ReactNode } from "react"
import Sidebar from "./sidebar"
import TopNav from "./top-nav"
import { useSidebar } from "./sidebar-provider"
interface LayoutProps {
children: ReactNode
}
export default function Layout({ children }: LayoutProps) {
const { isCollapsed, toggleSidebar } = useSidebar()
return (
<div>
<Sidebar isCollapsed={isCollapsed} />
<div>
<header>
<TopNav isCollapsed={isCollapsed} onToggleSidebar={toggleSidebar} />
</header>
<main>{children}</main>
</div>
</div>
)
}
3 Replies
@joulev No
Spectacled bearOP
So the server component passed inside the layout is still a server component, right?
@Spectacled bear So the server component passed inside the layout is still a server component, right?
Say you have a layout.tsx and a page.tsx, the layout.tsx can be a client component and the page.tsx will still remain a server component by default