Componentes apenas do servidor para performance otimizada, padrão no App Router. Ideal para Apps modernos, aplicações com muitos dados e Apps seguros que requerem lógica do lado do servidor.
RSC usa Server Components por padrão no App Router. Server Components não podem importar Client Components.
// Server Component (padrão)
export default async function ServerComponent() {
const res = await fetch("https://api.example.com/data");
const data = await res.json();
return (
<div>
<h1>{data.title}</h1>
<ClientComponent data={data} />
</div>
);
}
// Client Component (quando necessário)
"use client";
import { useState } from "react";
export function ClientComponent({ data }: { data: any }) {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}