React.forwardRef'in, tepki belgelerinden bir çocuk fonksiyonel bileşenine ref aktarmanın onaylanmış yolu olduğunu görüyorum:
const FancyButton = React.forwardRef((props, ref) => (
<button ref={ref} className="FancyButton">
{props.children}
</button>
));
// You can now get a ref directly to the DOM button:
const ref = React.createRef();
<FancyButton ref={ref}>Click me!</FancyButton>;
Ancak, bunu sadece özel bir pervane geçmekle yapmanın avantajı nedir ?:
const FancyButton = ({ innerRef }) => (
<button ref={innerRef} className="FancyButton">
{props.children}
</button>
));
const ref = React.createRef();
<FancyButton innerRef={ref}>Click me!</FancyButton>;
Aklıma gelen tek avantaj, belki refs için tutarlı bir API'ye sahip olmaktır, ancak başka bir avantajı var mı? Özel bir pervane geçirme, oluşturma söz konusu olduğunda farklı olmayı etkiler mi ve ek alanlara neden olur, elbette ref current
alanda değişebilir bir durum olarak saklandığı için değil mi?
Diyelim ki birden fazla referans (yani tbh, kod kokusunu gösterebilir, ama yine de) geçmek istediniz, o zaman görebildiğim tek çözüm customRef sahne kullanmak olacaktır.
Sanırım sorum forwardRef
özel bir pervane üzerinde kullanmanın değeri nedir?