useContext nedir? Ne zaman kullanılır, dezavantajı nedir?

Cevap

Context, bir değeri bileşen ağacında prop drilling yapmadan derinlere iletmeyi sağlar. Tema, oturum açmış kullanıcı, dil gibi uygulama genelindeki veriler için uygundur.

const TemaContext = createContext("acik");

function App() {
  const [tema, setTema] = useState("acik");
  return (
    <TemaContext.Provider value={{ tema, setTema }}>
      <Sayfa />
    </TemaContext.Provider>
  );
}

function Buton() {
  const { tema } = useContext(TemaContext);
  return <button className={tema}>Kaydet</button>;
}

Dezavantajı: Provider'ın value'su değiştiğinde o context'i kullanan tüm bileşenler yeniden render olur. Sık değişen verileri (ör. form değerleri) context'e koymak performansı düşürür. Çözüm: context'leri bölmek, value'yu useMemo ile sabitlemek veya Zustand gibi seçici abonelik sunan bir kütüphane kullanmak.

  1. Virtual DOM nedir ve reconciliation nasıl çalışır?KolayReactFrontend
  2. Listelerde key prop neden önemlidir? Index kullanmak neden sorunludur?KolayReactFrontend
  3. Controlled ve uncontrolled component farkı nedir?KolayReactFrontend
  4. useEffect bağımlılık dizisi nasıl çalışır?OrtaReactFrontend
  5. useMemo ile useCallback arasındaki fark nedir?OrtaReactFrontend
  6. Gereksiz render'ları nasıl tespit eder ve önlersiniz?ZorReactFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle