0Pricing
React Academy · Ders

React Sunucu Bileşenleri Açıklaması

RSC'lerin ne olduğunu, istemci bileşenlerinden nasıl farklılaştığını ve her birinin ne zaman kullanılacağını öğrenin.

React Sunucu Bileşenleri Açıklaması, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Bu derste React Sunucu Bileşenlerinin (RSC'lerin) ne olduğunu, istemci bileşenlerinden nasıl ayrıldıklarını ve her türün ne zaman kullanılacağını öğreneceksiniz.

İki Bileşen Dünyası

React 19 ve Next.js App Router, bileşenleri iki dünyaya ayırır: **Sunucu Bileşenleri** (sunucuda işlenir, etkileşim içermez) ve **İstemci Bileşenleri** (hem sunucuda hem istemcide işlenir, duruma ve olay işleyicilerine sahiptir).

Varsayılan Olarak Sunucu Bileşenleri

Next.js App Router'da her bileşen varsayılan olarak bir Sunucu Bileşenidir. Dosyanın en üstüne 'use client' ekleyerek İstemci Bileşeni moduna geçebilirsiniz.
// Server Component (default, no directive needed)
export default async function Page() {
  const data = await fetch('/api/posts').then(r => r.json());
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

İstemci Bileşenleri

Bir dosyanın en üstüne 'use client' ekleyerek onu İstemci Bileşeni yapın. İstemci Bileşenleri useState, useEffect, olay işleyicilerini ve tarayıcı API'lerini kullanabilir.
'use client';
import { useState } from 'react';

export function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n+1)}>{n}</button>;
}

Sunucu Bileşenlerinin Yetenekleri

Sunucu Bileşenleri şunları yapabilir: veritabanı sorgularını await ile beklemek, dosya sistemini okumak, ortam gizli bilgilerine erişmek, yalnızca sunucuda kullanılan büyük paketleri içe aktarmak ve istemciye hiç JavaScript göndermeden işlenmek.
// Fetch from DB directly in the component!
import { db } from '@/lib/db';

export default async function UserList() {
  const users = await db.select().from(usersTable);
  return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}

Sunucu Bileşenlerinin Sınırlamaları

Sunucu Bileşenleri şunları yapamaz: useState, useEffect, olay işleyicilerini (onClick vb.), tarayıcı API'lerini (window, localStorage) veya Context'i kullanmak. Bunlar için 'use client' gerekir.

Sunucu ve İstemci Bileşenlerini Birleştirme

Yaygın kalıp şöyledir: Bir Sunucu Bileşeni verileri getirir ve bunları özellikler olarak bir İstemci Bileşenine aktarır. Verileri sunucu, etkileşimi istemci yönetir.
// Server Component
export default async function Page() {
  const user = await getUser();
  return <ProfileEditor user={user} />; // client component
}

// Client Component (separate file)
'use client';
export function ProfileEditor({ user }) {
  const [name, setName] = useState(user.name);
  return <input value={name} onChange={e => setName(e.target.value)} />;
}

İstemci Sınırı Kuralı

Bir dosyayı 'use client' olarak işaretlediğinizde, içe aktardığı tüm bileşenler de istemci bileşenleri olarak değerlendirilir. Sunucu ile istemci arasındaki sınır dosya düzeyinde çalışır.

Sunucu Bileşenleri için Sıfır JavaScript

Sunucu Bileşenleri sunucuda HTML olarak işlenir. Bileşen kodları NEVER tarayıcıya gönderilmez. Bu, JavaScript paketinin boyutunu önemli ölçüde azaltır.

Sunucu Bileşenleri ve SSR

Geleneksel SSR, tam bir sayfayı HTML olarak işler ancak tüm bileşen kodlarını canlandırma için istemciye gönderir. Sunucu Bileşenleri kodlarını istemciye hiçbir zaman göndermez; yalnızca işlenmiş çıktıyı gönderir.

Hızlı Kontrol

Next.js App Router'da bir dosyayı React İstemci Bileşeni yapmak için dosyaya hangi yönergeyi eklersiniz?

Özet

Sunucu Bileşenleri sunucuda çalışır, veritabanlarına ve gizli bilgilere erişebilir ve istemciye JS göndermez. İstemci Bileşenleri 'use client' eklenmesini gerektirir ve durumu, etkileri ve olay işleyicilerini destekler. Bunları birleştirin: sunucu veriyi getirir, istemci etkileşimi yönetir.

Sırada

Sonraki ders: **Eşzamansız Kaynaklar için use() Kancası** — React 19 use() kancasıyla işleme sırasında vaatleri ve bağlamı okuyacaksınız.

Sıkça Sorulan Sorular

“React Sunucu Bileşenleri Açıklaması” dersi ücretsiz mi?

Evet — “React Sunucu Bileşenleri Açıklaması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“React Sunucu Bileşenleri Açıklaması” dersinde ne öğreneceğim?

RSC'lerin ne olduğunu, istemci bileşenlerinden nasıl farklılaştığını ve her birinin ne zaman kullanılacağını öğrenin. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“React Sunucu Bileşenleri Açıklaması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. React Sunucu Bileşenleri Açıklaması
  2. Asenkron Kaynaklar için use() Hook'u
  3. React Eylemleri ve useActionState
  4. Anında Geri Bildirim için useOptimistic
← React Academy Sayfasına Dön