Özel React Yönlendirici İstemi

Tepki-yönlendirici kullanarak navigasyonda özel bilgi istemi nasıl uygulanır?

Özel bilgi istemine ne gerek var?

Tepki projelerinin çoğu, bileşenleri için UI tasarım sistemini takip eder . Uygulama genelinde aynı tasarım tutarlılığını elde etmek için bileşenleri yeniden kullanırlar. Ancak, kaydedilmemiş bazı kullanıcı verileri olması durumunda navigasyonu engellemek için, varsayılan tarayıcı istemi, kullanıcının farklı rotalara gitmesini engellemenin en yaygın ve kolay yoludur. Ancak açılır pencere, kitaplık bileşeninizle eşleşmiyor.

Varsayılan react-router Prompt yerine özel modun nasıl kullanılacağını açıkça belirten resmi bir belge yoktur .

Çözüm

İstenilen sonucu elde etmek için izlenmesi gereken birkaç basit adım vardır. Her adım %100 çalışan kod parçacıkları içerir. Projelerinizde kullanabilirsiniz.

Aşama 1

Varsayılan tarayıcı istemini devre dışı bırakmamız veya engellememiz gerekiyor. Bu getUserConfirmation, BrowserRouter'ın işlev prop'una boş bir geri çağırma iletilerek yapılabilir .

Adım 2

Şimdi RouterPromptbileşen useHistoryiçin react-router-domand ant tasarım bileşen kitaplığındaki kancayı kullanarak özel bir bileşen oluşturalım modal.

history.blockBize geçerli sayfadan navigasyon away engellenmesine neden olurlar. Boş işlevin veya boş argümanların blok yöntemine iletilmesi, gezinme ile devam eder, onu engellemez veya kesmez.

useEffectKullanarak ya da göstermek için olup hızlı başlangıç durumunu işlemek için kullanılan whensahne.

handleOKVe handleCancelgeri aramalar teyit ve navigasyon iptal kontrol etmek için kullanılır.

Aşama 3

Sayfalar arasında gezinmek için iki örnek bileşen oluşturalım. Örneğin, birinci bileşen Dashboard.jsxve ikinci bileşen olsun Home.jsx.

homeBileşen bizim özel içeriyor RouterPromptbileşeni. İstem, sayfa değişikliğinde ve ayrıca whenprop'a dayalı olarak tetiklenir . whenProp şartlı istemi tetiklemek için kullanılır. Örneğin, whenpervane olarak ayarlanırsa true, sayfa her gezindiğinde (ev rotasından diğer rotalara veya ileri / geri gidin) istem gösterilecektir.

onOKVe onCancelgeri arama sahne rota ile devam etmek için boolean değeri dönmelidir.

Sonuç

Sonuç

Herhangi bir bileşen kitaplığının kipini, kendi özel kipinizi veya varsayılan tarayıcı isteminizi bile kullanabilirsiniz. Ancak uygularken dikkatli olun history.block.

Yukarıdaki adımları takip ederek istediğiniz çözüme ulaşabilirsiniz. Kod %100 çalışıyor. Zaman kazanmak için kod parçacıklarını uygulamalarınıza kopyalayabilirsiniz.

Referanslar

  1. https://reactrouter.com/web/api/Hooks/usehistory
  2. https://reactrouter.com/web/api/history

Suggested posts

İnmenin Yıkıcı Sonuçlarından Kaçınmak: Bir Ailenin Yolculuğundan Öğrenilenler .

İnmenin Yıkıcı Sonuçlarından Kaçınmak: Bir Ailenin Yolculuğundan Öğrenilenler .

Giriş İnme, herhangi bir zamanda herkesi etkileyebilecek tıbbi bir acil durumdur. Beynin bir kısmına kan akışı bozulduğunda meydana gelir ve ani beyin fonksiyon kaybına yol açar.

Tasarım Sistemleri ve Geleceğin Değişim Dalgaları

Tasarım Sistemleri ve Geleceğin Değişim Dalgaları

Tasarım sistemleri beni doğru zamanda yakaladı. Uzun zamandır tasarım ve kod dünyalarının arasında gidip geldiğimi hissettim ve biraz deneyimle daha ürün odaklı bir alana geçerek bu dünyaları bir araya getirmeyi ve daha fazlasını sağladım.

Related posts

Artık parola yok — geçiş anahtarları parolanızın yerini nasıl alacak?

Artık parola yok — geçiş anahtarları parolanızın yerini nasıl alacak?

Belirsizliği önlemek için aşağıdaki terimler kullanılacaktır; Doğrulayıcı; Web sitesine giriş yapmak için kullanılan cep telefonu; Kullanıcının oturum açma isteği Hizmetini yapmak için kullandığı web sitesi veya uygulama; Verilen hizmeti sağlayan satıcı, örn.

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Günümüzün hızlı tempolu ve rekabetçi dünyasında, kişinin kariyeri kişisel gelişim, finansal istikrar ve genel yaşam memnuniyetinde önemli bir rol oynamaktadır. Bununla birlikte, birçok kişi profesyonel yaşamlarında giderek tükenmekte olan amansız bir durgunluk ve tatminsizlik döngüsüne kapılmış durumda.

Sanat Hiç Apolitik midir?

Sanat Hiç Apolitik midir?

Dün, İsveçli şarkıcı Loreen'in kupayı evine götürdüğü, iki kez kazanan ilk kadın olduğu ve ABBA'nın yarışmayı kazanmasından 50 yıl sonra tacı İsveç'e geri getirdiği ışıltılı, kaotik bir büyük finalle bu yılki Eurovision Şarkı Yarışması'nın kapısını kapattık. "Waterloo" ile. Pop müzik kanonundaki en büyük oyunculardan biri olmaya devam ettiler.

Tasarımda iki yıl - İyi, kötü ve çirkin…

Tasarımda iki yıl - İyi, kötü ve çirkin…

"Hey Siri, Olivia Dean'in Me Dive oyununu çal." Nijerya, Akure'deki Future Academy Africa'da stajıma başladığımda Mayıs 2021'di.