React.forwardRef'i kullanmaya çalışıyorum, ancak sınıf tabanlı bir bileşende (HOC değil) nasıl çalıştırılacağına bakıyorum.
Dokümanlar örnekleri, öğeleri ve işlevsel bileşenleri kullanır, hatta sınıfları daha yüksek düzey bileşenler için işlevlere sarar.
Yani, böyle bir şey ile başlayan bu onların içinde ref.js
dosyanın:
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
ve bunun yerine şu şekilde tanımlıyoruz:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
veya
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
sadece çalışıyor: /
Ayrıca, biliyorum, ref tepki yolu değil. Üçüncü taraf bir tuval kitaplığı kullanmaya çalışıyorum ve bazı araçlarını ayrı bileşenlere eklemek istiyorum, bu nedenle olay dinleyicilere ihtiyacım var, bu yüzden yaşam döngüsü yöntemlerine ihtiyacım var. Daha sonra farklı bir rotaya gidebilir, ancak bunu denemek istiyorum.
Doktorlar bunun mümkün olduğunu söylüyor!
Referans yönlendirme, DOM bileşenleriyle sınırlı değildir. Referansları da sınıf bileşen örneklerine iletebilirsiniz.
dan bu bölümde notu.
Ama sonra sadece sınıflar yerine HOC'leri kullanmaya devam ediyorlar.
connect
Redux'lar veya marterial-UI'ler gibi bir HOC'ye sarılmışsa ne yaparsınızwithStyles
?