У меня есть метод в классе:
class Foo {
getElement : JSX.element () {
return <Component ref = {React.createRef()} />
}
}
Как и в обычном коде React.js (без машинописного текста), я хотел бы получить сам компонент, например:
const foo = new Foo();
const component = foo.getElement().ref.current;
Однако класс JSX.Element имеет только свойства key, props и type.
Как получить компонент в машинописном тексте?
Я застрял на некоторое время на этом, как:
ref.


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Похоже, что это может быть проблема в декларациях типа Reacts.
Решение состоит в том, чтобы остановить анонимно с помощью ref и сгруппировать его с элементом, т.е.:
type RefElement = { ref: RefObject<Component>, element: JSX.Element };
class Foo {
getRefElement: RefElement () {
const ref = createRef<Component>();
return {
ref: ref,
element: <Component ref = {ref} />
}
}
}
...
const foo = new Foo();
...
const component = foo.getRefElement().ref.current;