App Router v kostce
Nový app/ adresář zavedl Server Components jako výchozí. Data načítáte přímo ve složce, žádné getServerSideProps.
// app/kurzy/page.tsx
export default async function Page() {
const kurzy = await db.kurzy.findMany();
return <KurzList items={kurzy} />;
}
Kdy client, kdy server?
- Server: fetch, DB, tajné klíče.
- Client: interaktivita,
useState, formuláře. Označte"use client".
Streaming a Suspense
<Suspense fallback={<Skeleton />}>
<PomaléData />
</Suspense>
Server Actions
Přímé volání serverových funkcí z formuláře — bez API route.
Časté omyly
- Import serverového kódu v klientské komponentě → chyba buildu.
- Zapomenutý
revalidate→ uživatelé vidí starý cache.
Ve školení Next.js probíráme nasazení na Vercel i Cloudflare a měření výkonu.