useMergedRef
Herhangi sayıda callback ve nesne ref'ini, her biri için React 19 ref temizliğiyle tek bir ref'te birleştirir.
pnpm dlx shadcn@latest add https://hextaui.com/r/use-merged-ref.jsonHook'u ve bağımlı olduğu her şeyi projenize ekler.
Aşağıdaki kodu kopyalayıp projenize yapıştırın.
hooks/use-merged-ref.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Bir öğenin tek bir ref'i vardır, ama bileşenler çoğu zaman onu birkaç yere vermek ister: ref ileten üst öğe, effect'ler için yerel bir ref ve geri çağırma ref'iyle çalışan hook'lar. useMergedRef hepsini besleyen tek bir geri çağırma döndürür.
Öğe bağlandığında her ref onu alır. Nesne ref'lerinde .current ayarlanır, geri çağırma ref'leri düğümle çağrılır. Birleştirilmiş geri çağırma React 19 tarzında bir temizleme döndürür. Ayrılırken her geri çağırma ref'inin kendi temizlemesini çalıştırır veya bir tane döndürmediyse ref'i null ile çağırır ve nesne ref'lerini null'a sıfırlar.
Bu, geri çağırma ref'lerini gözlemciler ve dinleyiciler gibi öğenin yaşam süresine bağlı her şey için iyi bir yer yapar. Kurulum ve sökme birlikte durur ve onları diğer ref'lerle birleştirmek çalışmalarını sürdürür.
- Birleştirilmiş geri çağırma, herhangi bir ref değiştiğinde değişir. Satır içi bir ok fonksiyonu her işlemede yeni bir ref'tir; bu yüzden React öğeyi her seferinde ayırıp yeniden bağlar. Geri çağırma ref'lerini
useCallbackile sarın. undefinedvenullref'ler atlanır; böylece isteğe bağlı prop'ları doğrudan verebilirsiniz.- İletilen tek bir ref ve yerel bir nesne ref'i için useComposedRef daha kısadır.
| Prop | Tür | Varsayılan |
|---|---|---|
...refsNesne ref'leri, geri çağırma ref'leri veya undefined. | Array<Ref<T> | undefined> | – |
| Döndürür | Açıklama |
|---|---|
(node: T | null) => () => void | Öğenin ref'ine verin. Birleşik temizlemeyi döndürür. |
Field ve InputGroup.
- FieldKontrolüne bağlanmış etiketler, açıklamalar ve hatalar; doğrulama durumları ve formlar için düzenler içerir.
- InputÜç boyutlu, geçersiz ve salt okunur durumları, yerel doğrulama stilleri ve telefonların asla yakınlaştırmaması için 16px dokunmatik yazı tipi olan bir metin girişi.
- Input groupSimgeler, metin, düğmeler ya da klavye ipucu eklenmiş; tek kenarlık ve odak halkasını paylaşan bir input.
- Video playerSürüklenebilir arama çubuğu, otomatik gizlenen denetimler, klavye kısayolları, hız, pencere içinde pencere ve tam ekranı olan bir video oynatıcı.