Я разрабатываю плагин для vscode и импортировал компонент. Компонент использует новый интерфейс реагирования API.
Компонент выглядит следующим образом.
import React from 'react';
import propTypes from 'prop-types';
import AppContext from '../context/app-context.js';
import 'semantic-ui-css/semantic.min.css';
class Visualizer extends React.Component {
/**
* Constructor
* @param {Object} props props object
*/
constructor(props) {
super(props);
this.state = {
oasJson: {},
isError: {
state: false,
message: '',
},
actionState: {
state: '',
message: ''
}
};
}
/**
* Render Method
* @returns {React.ReactElement} DOM element
*/
render() {
const { oasJson } = this.state;
return (
<AppContext .Provider
value={{
oasJson: oasJson,
}}
>
<OasResources
resObj={paths}
>
</OasResources>
</AppContext .Provider>
);
}
}
export default Visualizer ;
Я отрисовываю это, используя следующий метод
function renderEditor(target){
ReactDOM.render(<Visualizer oasJson={json} />, target);
}
, который вызывается из файла renderer.ts, который требуется для плагина vscode. Компонент, используемый в обычном приложенииactjs, прекрасно воспроизводится без какого-либо потока, но я получаю следующую ошибку при использовании компонента в плагине vscode.
Uncaught Ошибка: недопустимый тип элемента: ожидается строка (для
встроенные компоненты) или класс / функция (для составных компонентов)
но получил: объект.
если я удаляю AppContext и возвращаю случайное div
, компонент отрисовывается очень хорошо. Мой контекстный файл выглядит следующим образом.
import React from 'react';
const AppContext = React.createContext({
oasJson: {},
});
export default AppContext ;
Что я здесь не так делаю. Я использую React: 16.2.0
и ReactDom: 16.2.0
как dep