У меня есть класс машинопись, который простирается React.Component
:Получение ссылки на класс экземпляра компонента
class MyComponent extends React.Component<{}, {}>
{
constructor(props: {})
{
super(props);
}
public render()
{
return <span>Test</span>;
}
public MyMethod() {
console.log("Working fine");
}
}
Тогда есть место, где я вручную нужно создать экземпляр и прикрепить это к DOM:
var component = MyComponent;
var element = React.createElement(component, {}, null);
ReactDOM.render(element, myDomElementContainer);
из-за архитектурные ограничения системы, мне нужно сохранить ссылку на мой экземпляр класса для этого компонента для последующего использования, проблема заключается в том, что я не могу найти ссылку на экземпляр моего класса в созданном элементе , он имеет только ссылку на клас с по объекту type
.
React.createElement
только позволяет мне предоставить класс, а ReactDOM.render
не нравится объект, созданный вручную.
Что мне нужно для создания пользовательского компонента, присоединения его к DOM и получения ссылки на экземпляр класса компонента?
Ах, возвращаемое значение ReactDOM.render было ключевым. Хотя, похоже, это отличается от React.createElement, который не возвращает ожидаемый экземпляр. – Alex
Что возвращает 'React.createElement'? Должен быть элемент реакции –
Я не знаю, какой тип должен быть, но это совсем не то же самое, что и объект, который я получаю от ReactDOM.render. Он просто содержит такие вещи, как 'target',' _store', '_owner',' _self' 'props' и т. Д. Это не экземпляр моего класса компонентов. – Alex