Sto cercando di usare React.forwardRef, ma inciampo su come farlo funzionare in un componente basato su classi (non HOC).
Gli esempi della documentazione utilizzano elementi e componenti funzionali, anche avvolgendo classi in funzioni per componenti di ordine superiore.
Così, a partire da qualcosa di simile a questo nel loro ref.js
documento:
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
e invece definendolo come qualcosa del genere:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
o
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
solo funzionante: /
Inoltre, so di sapere, gli arbitri non sono il modo di reagire. Sto cercando di utilizzare una libreria canvas di terze parti e vorrei aggiungere alcuni dei loro strumenti in componenti separati, quindi ho bisogno di listener di eventi, quindi ho bisogno di metodi del ciclo di vita. Potrebbe seguire un percorso diverso in seguito, ma voglio provare questo.
I documenti dicono che è possibile!
L'inoltro di riferimento non è limitato ai componenti DOM. Puoi anche inoltrare i riferimenti alle istanze dei componenti di classe.
dalla nota in questa sezione.
Ma poi continuano a usare gli HOC invece delle sole classi.
connect
o marterial-ui'swithStyles
?