Hook kuralları (Rules of Hooks) nelerdir, neden vardır?
Cevap
- Hook'lar yalnızca bileşenin en üst seviyesinde çağrılır: if, döngü veya iç içe fonksiyon içinde çağrılmaz.
- Hook'lar yalnızca React fonksiyon bileşenlerinden veya custom hook'lardan çağrılır.
Neden: React, bir bileşenin hook'larını isimle değil çağrılma sırasıyla eşleştirir. Bir hook koşula bağlı çağrılırsa sıra kayar ve state yanlış hook'a bağlanır.
// Yanlış
if (girisYapti) { const [x, setX] = useState(0); }
// Doğru: hook her zaman çağrılır, koşul içeride
const [x, setX] = useState(0);
if (!girisYapti) return null;eslint-plugin-react-hooks bu kuralları ve useEffect bağımlılıklarını otomatik kontrol eder.
İlgili React soruları
- Virtual DOM nedir ve reconciliation nasıl çalışır?
- Listelerde key prop neden önemlidir? Index kullanmak neden sorunludur?
- Controlled ve uncontrolled component farkı nedir?
- useEffect bağımlılık dizisi nasıl çalışır?
- useMemo ile useCallback arasındaki fark nedir?
- Gereksiz render'ları nasıl tespit eder ve önlersiniz?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.