Próbuję użyć React.forwardRef, ale potykam się, jak sprawić, by działał w komponencie opartym na klasach (nie HOC).
Przykłady dokumentacji wykorzystują elementy i komponenty funkcjonalne, a nawet zawijają klasy w funkcje dla komponentów wyższego rzędu.
Tak więc, zaczynając coś jak to w swoim ref.jspliku:
const TextInput = React.forwardRef(
(props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />)
);
i zamiast tego zdefiniować to jako coś takiego:
class TextInput extends React.Component {
render() {
let { props, ref } = React.forwardRef((props, ref) => ({ props, ref }));
return <input type="text" placeholder="Hello World" ref={ref} />;
}
}
lub
class TextInput extends React.Component {
render() {
return (
React.forwardRef((props, ref) => (<input type="text" placeholder="Hello World" ref={ref} />))
);
}
}
działa tylko: /
Wiem też, że wiem, sędziowie nie reagują. Próbuję użyć biblioteki kanw innej firmy i chciałbym dodać niektóre z ich narzędzi w oddzielnych składnikach, więc potrzebuję detektorów zdarzeń, więc potrzebuję metod cyklu życia. Może później pójść inną drogą, ale chcę tego spróbować.
Doktorzy mówią, że to możliwe!
Przekazywanie referencji nie jest ograniczone do komponentów DOM. Możesz również przekazywać odwołania do instancji komponentów klasy.
Ale potem używają KWR zamiast zwykłych klas.
connectlub marterial-uiwithStyles?