Uncaught Error: недопустимый тип элемента: ожидается строка - React Context API - PullRequest
0 голосов
/ 11 сентября 2018

Я разрабатываю плагин для 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

...