React6 min read
React Server Components
Use React Server Components for better performance.
Sarah Johnson
December 20, 2025
0.0k0
Server Components render on server, reducing client bundle.
Server Component (Default)
// app/page.js
async function Users() {
const users = await fetch('https://api.example.com/users');
const data = await users.json();
return (
<div>
{data.map(user => <p key={user.id}>{user.name}</p>)}
</div>
);
}
Client Component
Add 'use client' for interactivity:
'use client';
import { useState } from 'react';
export default function Counter() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}
Mixing Both
// Server Component
import ClientCounter from './Counter'; // Client component
export default async function Page() {
const data = await fetchData(); // Server-side
return (
<div>
<h1>{data.title}</h1>
<ClientCounter /> {/* Client interactivity */}
</div>
);
}
Remember
- Default = Server Component
- Use 'use client' for interactivity
- Reduces JavaScript bundle
- Better performance
Next: Learn Suspense patterns!
#React#Server Components#Next.js 13#Advanced