Saya mencoba menggunakan React.forwardRef, tetapi tersandung cara membuatnya bekerja dalam komponen berbasis kelas (bukan HOC).
Contoh dokumen menggunakan elemen dan komponen fungsional, bahkan membungkus kelas dalam fungsi untuk komponen tingkat tinggi.
Jadi, mulailah dengan sesuatu seperti ini di ref.js
file mereka :
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
dan sebagai gantinya mendefinisikannya sebagai sesuatu seperti ini:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
atau
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
hanya bekerja: /
Juga, saya tahu saya tahu, wasit bukanlah cara bereaksi. Saya mencoba menggunakan pustaka kanvas pihak ketiga, dan ingin menambahkan beberapa alat mereka dalam komponen terpisah, jadi saya membutuhkan pendengar acara, jadi saya memerlukan metode siklus hidup. Ini mungkin pergi ke rute yang berbeda nanti, tetapi saya ingin mencoba ini.
Dokumen mengatakan itu mungkin!
Penerusan referensi tidak terbatas pada komponen DOM. Anda juga dapat meneruskan ref ke instance komponen kelas.
Tapi kemudian mereka terus menggunakan HOC, bukan hanya kelas.
connect
atau marterial-uiwithStyles
?