useComposedRef
Kendi öğenize bir ref tutarken, üst bileşenin ilettiği her ref'e de yönlendirmeyi sürdürür.
pnpm dlx shadcn@latest add https://hextaui.com/r/use-composed-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-composed-ref.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
React 19'da ref normal bir prop'tur. Bileşeniniz öğeye kendisi için de ihtiyaç duyduğunda iki ref'iniz ve tek bir ref niteliğiniz olur. Bu hook size okumak için bir nesne ref'i ve ikisini birden dolduran bir geri çağırma verir.
Bu derlenir ama üst öğenin ref'i düşer, bu yüzden ref.current üst öğede null kalır. useComposedRef ile hem üst öğe hem bileşen öğeyi alır.
- Döndürülen
inputRefnormal birRefObject'tir; böyleceuseAutosizeveyauseInvalidShakegibi bir tane bekleyen hook'lara verebilirsiniz. setRef, üst öğenin ref'i aynı kaldığı sürece aynı kimliği korur; böylece React onu her işlemede ayırıp yeniden bağlamaz.- Nesne ref'leri, geri çağırma ref'leri ve hiç ref olmamasıyla çalışır.
Tam olarak bir iletilen ref'i kendi nesne ref'inizle birleştirdiğinizde useComposedRef kullanın; çoğu bileşen budur. İkiden fazlasını birleştirdiğinizde, biri başka bir hook'tan gelen geri çağırma ref'iyse veya iletilen bir geri çağırma ref'i React 19 temizleme fonksiyonu döndürüyorsa useMergedRef kullanın. useComposedRef, ayrılırken bir geri çağırma ref'ini temizlemesini çalıştırmak yerine null ile çağırır.
| Prop | Tür | Varsayılan |
|---|---|---|
refBileşeninizin aldığı ref. | Ref<T> | undefined | – |
| Döndürür | Açıklama |
|---|---|
[0] RefObject<T | null> | Öğeye kendi ref'iniz. |
[1] (node: T | null) => void | Öğenin ref'ine verin. İki ref'i de doldurur. |
Input, Textarea, NativeSelect, 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.
- Native selectTarayıcının kendi select'i; Input ile eşleşecek şekilde biçimlendirilmiş, sakin bir yer tutucusu, Field desteği ve her cihazda işletim sistemi seçicisi vardır.
- SidebarSimgelere ya da ekran dışına daralan, header'ınızın altında sabit kalan ve telefonlarda kaydırılabilir bir sayfaya dönüşen bir uygulama kenar çubuğu.
- TextareaYazdıklarınıza göre en az ve en çok satır sayısı arasında akıcı biçimde büyüyen çok satırlı metin; sayaçlar, doğrulama ve gönderme kısayolu içerir.