0Pricing
React Academy · Ders

Anında Geri Bildirim için useOptimistic

Sunucu değişikliği sürerken useOptimistic ile iyimser arayüz güncellemeleri gösterin.

Anında Geri Bildirim için useOptimistic, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. 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 19'un useOptimistic kancasını kullanarak bir sunucu değişikliği sürerken anında iyimser kullanıcı arayüzü değişiklikleri gösterecek ve hata durumunda otomatik geri alma sağlayacaksınız.

İyimser Kullanıcı Arayüzü Nedir?

İyimser kullanıcı arayüzü, bir sunucu değişikliğinin başarılı olacağını varsayarak sunucu yanıtını beklemeden kullanıcı arayüzünü hemen güncellemek anlamına gelir. İşlem başarısız olursa önceki duruma geri dönersiniz.

useOptimistic Temelleri

useOptimistic, gerçek durumu ve bir güncelleyici işlevi kabul eder. İyimser durumu ve iyimser güncellemeleri uygulayacak bir işlevi döndürür.
'use client';
import { useOptimistic } from 'react';

const [optimisticLikes, addOptimisticLike] = useOptimistic(
  likes,                      // actual state from server
  (state, newLike) => [...state, newLike] // how to apply optimistic update
);

Beğen Düğmesi Örneği

Kullanıcı Beğen'e tıkladığında addOptimisticLike aracılığıyla yeni beğeniyi hemen kullanıcı arayüzünde gösterin, ardından gerçek isteği gönderin. İstek başarısız olursa iyimser durum otomatik olarak gerçek duruma döner.
async function handleLike() {
  addOptimisticLike({ id: Date.now(), user: currentUser });
  await likePost(postId); // server action
}

İyimser Durum Nerede Bulunur?

optimisticLikes, geçiş sırasında iyimser değeri gösterir. Sunucu yanıt verdikten ve gerçek `likes` durumu (yeniden doğrulama aracılığıyla) güncellendikten sonra useOptimistic otomatik olarak gerçek durumla yeniden eşitlenir.

İyimser Öğelerde Bekleme Göstergesi

Kullanıcıların bunların beklemede olduğunu anlaması için iyimser öğeleri görsel olarak işaretleyin; örneğin biraz soluk gösterin. İyimser güncellemeye `pending: true` bayrağı ekleyip buna göre biçimlendirebilirsiniz.
const [optimisticMessages, addOptimistic] = useOptimistic(
  messages,
  (state, msg) => [...state, { ...msg, pending: true }]
);

// Render
{optimisticMessages.map(m => (
  <div key={m.id} style={{ opacity: m.pending ? 0.6 : 1 }}>{m.text}</div>
))}

Geçiş İçinde Kullanma

useOptimistic yalnızca bir React Geçişi (startTransition veya useTransition) içinde çalışır. React 19 ile Sunucu Eylemleri kullanıldığında bu işlem otomatik olarak yönetilir.
'use client';
import { startTransition } from 'react';

const handleSubmit = (data) => {
  startTransition(async () => {
    addOptimistic(data);
    await serverAction(data);
  });
};

Sohbette Mesaj Gönderme Örneği

Sunucu mesajı kaydederken gönderilen mesajı sohbet listesinde hemen gösterin. Mesaj, 'Gönderiliyor...' durumuyla anında görünür; sunucu onayladığında 'Gönderildi' durumuna geçer.

Hata Durumunda Geri Alma Davranışı

Sunucu eylemi başarısız olursa (istisna oluşturur veya reddedilirse) useOptimistic, iyimser değeri otomatik olarak atar ve son gerçek duruma döner. Geri alma işlemini elle uygulamanız gerekmez.

useOptimistic ve Elle Yapılan İyimser Güncellemeler

useOptimistic kullanılmadan önce iki durum değişkenini (gerçek ve iyimser) yönetmeniz ve catch bloğunda elle geri alma yapmanız gerekirdi. useOptimistic, bunu otomatik geri alma özelliğine sahip tek bir kancada birleştirir.

Hızlı Kontrol

Onu başlatan sunucu eylemi başarısız olursa iyimser duruma ne olur?

Özet

useOptimistic(actualState, güncelleyici), [optimisticState, addOptimistic] değerlerini döndürür. Anında geri bildirim için sunucu eyleminden önce addOptimistic'i çağırın. Eylem başarısız olursa React otomatik olarak gerçek duruma geri döner. React Geçişleri içinde çalışır.

Kurs Tamamlandı

Tebrikler! **Sunucu Bileşenleri ve React 19 Özellikleri** kursunu tamamladınız. Artık modern React geliştirme için RSC'leri, use() kancasını, Eylemleri, useActionState'i ve useOptimistic'i anlıyorsunuz.

Sıkça Sorulan Sorular

“Anında Geri Bildirim için useOptimistic” dersi ücretsiz mi?

Evet — “Anında Geri Bildirim için useOptimistic” 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.

“Anında Geri Bildirim için useOptimistic” dersinde ne öğreneceğim?

Sunucu değişikliği sürerken useOptimistic ile iyimser arayüz güncellemeleri gösterin. 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 4. dersidir.

“Anında Geri Bildirim için useOptimistic” 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