Skip to content
← Home

Server Client vs Client Component

June 1, 2026

Next.js'te Component'ler varsayılan olarak sunucuda çalışır. Ancak sen istersen tarayıcıda çalışırlar.

Bir Server Component sunucuda render edilir ve düz HTML olarak gelir. JavaScript'i tarayıcıya hiç inmez. Bu hız ve SEO için harika, ama bu aynı zamanda tarayıcıya özel hiçbir şey yapamayacağı anlamına gelir — useState yok, useEffect yok, onClick yok, localStorage yok.

Bunlardan birisini kullanmaya ihtiyacımız olduğunda, çözüm dosyanın en üstüne aşağıdaki satırı eklemek:

"use client";

Bu satır component'i zaten bildiğimiz React'a geri çeviriyor.

Benimsediğim kural şu: her şeyi Server Component bırak, sadece küçük interaktif parçaları client yap. Bu sitede bunlar neredeyse sadece tema butonu, dil değiştirici, mobil menü ve iletişim formu. Geri kalan her şey sunucuda render ediliyor, böylece sayfa hafif kalıyor.

Bir Client Component, bir Server Component'i import edip render edemez. Ama onu children olarak alabilir:

<Reveal>      {/* client */}
  <Hero />    {/* server, children olarak veriliyor */}
</Reveal>

Bu oturunca, ikisini bir arada kullanmak garip gelmeyi bıraktı.