CodeBlanks Logo Icon CodeBlanks

replaceState

JavaScript kursu · İleri seviye · Ders 80/100

replaceState ile mevcut geçmiş kaydını değiştirmeyi öğrenirsin.

replaceState nedir?

history.replaceState(state, unused, url) tıpkı pushState gibi aynı üç parametreyi alır; ama geçmişe yeni kayıt eklemez. Bunun yerine mevcut kaydın durumunu ve URL'ini değiştirir.

history.replaceState({page: 'home'}, '', '/home');

Sonuç olarak geri düğmesi yine de önceki kayda gider; çünkü replaceState mevcut kaydın yerine yenisini yazar.

pushState ve replaceState farkı

İki yöntem de URL'i ve durumu değiştirir, ama geçmişe etkileri farklıdır.

history.pushState({page: 'a'}, '', '/a');
// geçmiş: [home, a]
history.replaceState({page: 'b'}, '', '/b');
// geçmiş: [home, b]

pushState yeni kayıt ekler; geri düğmesi bir önceki kayda gider. replaceState mevcut kaydın yerine yenisini yazar; geçmişe kayıt eklenmez.

Uygulama replaceState ile kaydı güncelle

currentTab değişkenine 'settings' değerini ata. { tab: currentTab } durumuyla, boş başlık ve '/settings' URL'i ile history.replaceState çağır.

Örnek çözümü göster
const currentTab = 'settings';
history.replaceState({ tab: currentTab }, '', '/settings');

Kendini test et

  1. replaceState çağrısını tamamla

    const state = { tab: 'settings' };
    ____;
    Cevabı göster
    const state = { tab: 'settings' };
    history.replaceState(state, '', '/settings');
  2. replaceState ne zaman pushState yerine kullanılır?

    • Yeni bir geçmiş kaydı eklemek istediğinde
    • Mevcut kaydı değiştirmek ve geri düğmesinin yeni kayıt eklemesini önlemek istediğinde
    • Sayfayı yeniden yüklemek istediğinde
    • Geçmişi tamamen silmek istediğinde
    Cevabı göster

    Mevcut kaydı değiştirmek ve geri düğmesinin yeni kayıt eklemesini önlemek istediğinde — Doğru! replaceState mevcut kaydı günceller, yenisini eklemez.

  3. pushState ve replaceState farkı

    pushState
    yeni kayıt ekler
    replaceState
    mevcut kaydı değiştirir
    geri düğmesi
    önceki kayda gider
    state object
    kayıtla saklanan veri

İleri seviye bölümündeki tüm dersler