Я намагаюся використовувати React.forwardRef, але переживаю, як змусити його працювати в компоненті на основі класу (не HOC).
У прикладах документів використовуються елементи та функціональні компоненти, навіть загортання класів у функції для компонентів вищого порядку.
Так, починаючи з чим - то на кшталт цього в їх ref.js
файлі:
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
і замість цього визначити це як щось подібне:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
або
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
працює лише: /
Крім того, я знаю, що я знаю, реакція - це не спосіб реагування. Я намагаюся використовувати сторонні бібліотеки полотна, і хотів би додати деякі їх інструменти в окремі компоненти, тому мені потрібні слухачі подій, тому мені потрібні методи життєвого циклу. Пізніше це може піти іншим маршрутом, але я хочу спробувати це.
Документи кажуть, що це можливо!
Пересилання пересилань не обмежується компонентами DOM. Ви також можете пересилати посилання на екземпляри компонентів класу.
Але потім вони продовжують використовувати HOCs, а не просто заняття.
connect
або marterial-uiwithStyles
?