Я использую API классов ES6 React (используя TypeScript ) и хотите отобразить подтип класса типа React.Component
с помощью ReactDOM.render()
.
Работает следующий код:
class MyComponentProps {
someMember: string;
}
class MyComponent extends React.Component<MyComponentProps, {}> {
constructor(initialProps: MyComponentProps) {
super(initialProps);
}
}
let rootNode = document.getElementById('root');
ReactDOM.render(
<MyComponent someMember="abcdef" />,
rootNode
)
Теперь, учитывая явный тип конструктора в react.d.ts
, я предполагаю, что могу передать экземпляр объекта MyCustomProps, который заполняется начальными свойствами (как это сделано в приведенном выше коде). Но как визуализировать компонент напрямую без синтаксиса JSX/TSX?
НЕ работает следующее:
ReactDOM.render(new MyComponent(new MyComponentProps()), rootNode);
Я знаю, что мог бы просто использовать синтаксис JSX в качестве обходного пути, но поскольку мой объект MyCustomProps
довольно большой, я не хочу повторять каждый член объекта MyCustomProps
.
React.createElement(MyComponent, new MyComponentProps())
вместоnew MyComponent(new MyComponentProps())
? - person Nikos Paraskevopoulos   schedule 24.02.2016