-
🤯 Tek bir satır kodla, React Context Bağlam cehennemine zarif bir son!
React Context Bağlam Cehennemi Nedir? React Context yuvalama cehennemi, aşağıdaki şekilde gösterildiği gibi React Context Provider'ın çok katmanlı yuvalanmasına atıfta bulunur . Ön uç problemindeki geri çağırma cehennemine benzer şekilde , giderek daha fazla Context daha büyük ve daha büyük yuvalama katmanlarına yol açacak ve bu da son derece zayıf kod okunabilirliğiyle sonuçlanacaktır. Neden Context Nesting Hell gibi kodlar yazıyoruz? Context, bileşenler arasında durum şeffaf iletimi gerçekleştirmemizi ve böylece durum paylaşımı amacına ulaşmamızı sağlayan React'ın bağlamsal durum yönetim API'sidir. Ancak Context'in bir performans sorunu var. Context birden fazla state niteliği içerdiğinde, state değiştirildiğinde, React'ın re-render özelliği nedeniyle, Context'e bağlı olan tüm bileşenler, Context'e bağlı olan bazı bileşenlerin state değerleri değişmemiş olsa bile, yeniden render edilecektir . Kod örneği şu şekildedir: Bağlamı Tanımla (context.ts): import { createContext } from 'react' export const AppContext = createContext<{ theme: 'dark' | 'light', count: number, increase: () => void }>({ theme: 'dark', count: 0, increase() {} }) Bağlamın Sağlanması ve Tüketilmesi (page.tsx): import { use, useState } from "react" import { AppContext } from "./context" export default function App() { const [count, setCount] = useState(0) const [theme, setTheme] = useState<'dark' | 'light'>('dark') return ( <AppContext.Provider…- 33
- 0
❯
Kişisel Merkez
Sepet
Kuponlar
Bugünün Girişi
Yeni özel mesaj
Özel mesaj listesi
aramak
Mevcut sayfayı açmak için QR kodunu tarayın
Başa dön
Şanslı yıldız kayıyor...
Bugünün giriş ödülünüzü talep etmek için tıklayın!
Tebrikler! Bugün {{mission.data.mission.credit}} puan kazandınız
Kuponlarım
-
PuanKuponlarZaman sınırı:müsait değilZaman sınırı:
Önce
Zaman sınırı:KalıcıKupon Kimliği:×Aşağıdaki ürünler kısıtlanmıştır: Aşağıdaki ürün kategorileri kısıtlanmıştır: Sınırsız kullanım:Tüm ürünler ve ürün tipleri için mevcuttur
Kupon bulunamadı!
Doğrulanmamış
Bugünkü görev tamamlandı