Estou tentando usar React.forwardRef, mas estou tropeçando em como fazê-lo funcionar em um componente baseado em classe (não HOC).
Os exemplos de documentos usam elementos e componentes funcionais, até mesmo agrupando classes em funções para componentes de ordem superior.
Então, começando com algo parecido com isso em seu ref.jsarquivo:
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
e, em vez disso, defini-lo como algo assim:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
ou
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
só trabalhando: /
Além disso, eu sei, eu sei, os árbitros não são a maneira de reagir. Estou tentando usar uma biblioteca de telas de terceiros e gostaria de adicionar algumas de suas ferramentas em componentes separados, portanto, preciso de ouvintes de eventos, portanto, preciso de métodos de ciclo de vida. Pode haver um caminho diferente mais tarde, mas quero tentar isso.
Os documentos dizem que é possível!
O encaminhamento de referência não se limita a componentes DOM. Você pode encaminhar refs para instâncias de componentes de classe também.
Mas então eles passam a usar HOCs em vez de apenas classes.
connectou o marterial-uiwithStyles?