React 16.3.*context Provider Err:Expected string或class/func但got:Object

Kev*_*ski 5 reactjs react-16 react-context

编辑:下面的答案

我在youtube上都遵循了这两个教程(目前没有太多),但它们都不适用于我,它在index.js中向Provider发送了这个错误:

教程1:视频代码

教程2:视频代码

元素类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:object.

我的代码Context.js文件:

import React from 'react'
export const Context = React.createContext();
Run Code Online (Sandbox Code Playgroud)

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter} from 'react-router-dom'
import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { ApolloProvider } from 'react-apollo';

import { Context } from './Context'

const client = new ApolloClient({
    link: new HttpLink({ uri: process.env.API_URL }),
    cache: new InMemoryCache()
})

ReactDOM.render(
    <Context.Provider value={{text: 'ok'}}>
        <BrowserRouter>
                <ApolloProvider client={client}>
                    <App />
                </ApolloProvider>
        </BrowserRouter>
    </Context.Provider>
    , document.getElementById('root'));
registerServiceWorker();
Run Code Online (Sandbox Code Playgroud)

我试过/检查过:

  1. 仔细检查我已经安装了16.3.1

  2. 将背景置于或外 <BrowserRouter>

  3. 试过{Context} vs Context

  4. 重新安装NPM包

  5. 在createContext()中放入{text:'ok'}

  6. 我试过'create-react-context'但仍然得到了同样的错误,也许这是一个线索?我不确定

  7. 尝试了在教程中工作的react@16.3.0-alpha.0

  8. 其他一些我不会忘记的东西.

编辑:回答如下

Oma*_*mar 17

检查你是否有反应16.3.1