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 currentalanda 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?