React'te UseContext Kancasında Ustalaşma

React'in useContextkancası, verileri uzun bir destek zincirinden geçirmek zorunda kalmadan bileşenler arasında durumu paylaşmak için güçlü bir araçtır. ile useContext, durumu tüm bileşen ağacında kolayca paylaşabilir, bu da onu genel durumu yönetmek için yararlı bir araç haline getirir.

Bu makalede, kancanın temellerini inceleyeceğiz useContextve onu React uygulamalarımızda durumu yönetmek için nasıl kullanabileceğimizi göreceğiz.

UseContext Kancasında Ustalaşma

nedir useContext?

useContextbir üst bileşen tarafından oluşturulmuş bir bağlamdan veri kullanmanıza izin veren yerleşik bir React kancasıdır. Bağlam, içeriği oluşturan bileşenin soyundan gelen herhangi bir bileşen tarafından erişilebilen bazı paylaşılan durum verilerini tutan bir nesnedir.

Kanca useContext, bağımsız değişkeni olarak bir bağlam nesnesi alır ve bu bağlamın geçerli değerini döndürür. Bu, bağlamdaki herhangi bir güncellemenin, onu tüketen tüm bileşenlerin yeniden oluşturulmasını otomatik olarak tetikleyeceği anlamına gelir.

Nasıl kullanılır useContext?

kullanmak için useContextöncelikle bir bağlam nesnesi oluşturmamız gerekir. createContextBunu kütüphanedeki metodu kullanarak yapabiliriz React. İşte bir örnek:

import React from 'react';

const MyContext = React.createContext();

import React from 'react';

const MyContext = React.createContext();

function App() {
  const [count, setCount] = React.useState(0);

  return (
    <MyContext.Provider value={{ count, setCount }}>
      <div>
        <h1>Count: {count}</h1>
        <Counter />
      </div>
    </MyContext.Provider>
  );
}

function Counter() {
  const { count, setCount } = React.useContext(MyContext);

  const increment = () => {
    setCount(count + 1);
  };

  return (
    <div>
      <button onClick={increment}>Increment</button>
    </div>
  );
}

Bileşen App, alt bileşenlerini bileşene sarıyor MyContext.Providerve paylaşılan durumun geçerli değerini destek olarak iletiyor value. Bu durumda değer, countdurumu ve setCountişlevi içeren bir nesnedir.

Bileşen , kancayı kullanarak nesneyi Countertüketiyor ve durumu ve işlevi bağlam nesnesinden çıkarıyor . Ardından , düğme tıklandığında paylaşılan durumu güncellemek için işlevi kullanıyoruz .MyContextuseContextcountsetCountincrement

Ne zaman kullanılır useContext?

useContextuygulama boyunca birden çok bileşen tarafından erişilmesi gereken genel durumu yönetmek için en kullanışlıdır. Pervane delmenin külfetli olacağı veya birden fazla bileşen katmanından geçiş yapmaktan kaçınmak istediğiniz durumlar için iyi bir seçimdir.

useContextişlevleri bileşen ağacından aşağıya aktarmanız gereken durumlar için de iyi bir seçimdir. Bir işlevi bağlam nesnesinden geçirerek, onu birden çok bileşen katmanından geçirmek zorunda kalmayabilirsiniz.

Çözüm

Kanca useContext, küresel durumu yönetmek için güçlü bir araçtır.

Umarım bu kadarı hepinizi açıklar.

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.

En çok kullandığım kodlama kaynaklarım

En çok kullandığım kodlama kaynaklarım

Bu hafta, günlük e-posta listesinin bir üyesinden bir e-posta aldım. Bilmek istediler: Günlük, haftalık ve aylık olarak hangi kaynakları ziyaret ediyorsunuz? Harika soru! İş akışım ve kullandığım en önemli kaynaklar hakkında bazı bilgileri paylaşmaya çalışmaktan mutluluk duyuyorum.

Related posts

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

Giriş: Cesur okuyucular, bizi gezegenimizin en karanlık derinliklerine götürecek bir yolculuğa hoş geldiniz. Bu blogda, Mariana Çukuru'nun esrarengiz dünyasına dalıyor, onun gizli sırlarını açığa çıkarıyor ve yüzeyinin altında yatan tüyler ürpertici gerçekleri ortaya çıkarıyoruz.

Bir podcast'i etkili kılan nedir?

Bir podcast'i etkili kılan nedir?

Geçen hafta PressGazette (İngiliz medya haber sitesi) aracılığıyla gönderilen bir basın bildirisi fark ettim. Makale, Scandi podcast barındırma ve reklamcılık şirketi Acast'ın podcasting alanında "muhtemelen en etkili" yayıncılardan oluşan bir konsorsiyuma liderlik edeceğini duyurdu.

Gezegeni Nasıl Kurtarır ve Para Kazanırsınız?

Gezegeni Nasıl Kurtarır ve Para Kazanırsınız?

Kaç kez bir plastik şişeyi, cam kavanozu, alüminyum kutuyu veya yeşil enerji paketini iki kere düşünmeden çöpe attınız? Kaç kez geri dönüşüm karşılığında bir şey alabilmeyi diledin? Çoğu insan gibiyseniz, cevap muhtemelen birçok kez. Geri dönüşüm genellikle herhangi bir acil veya somut fayda sağlamayan bir güçlük, angarya veya görev olarak görülür.

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.