Javascript TypeError:无法分解属性';供应商';属于';对象(…)(…)和#x27;因为它是未定义的
我试图使用useContext,但经常出错。这是我的配置文件Javascript TypeError:无法分解属性';供应商';属于';对象(…)(…)和#x27;因为它是未定义的,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我试图使用useContext,但经常出错。这是我的配置文件 import React from 'react' export const ConfigurationContext = React.createContext() export default ConfigurationContext 这是我的App.js import './App.css'; import React,{Fragment} from 'react' import {BrowserRouter as
import React from 'react'
export const ConfigurationContext = React.createContext()
export default ConfigurationContext
这是我的App.js
import './App.css';
import React,{Fragment} from 'react'
import {BrowserRouter as Router, Route, Switch} from 'react-router-dom'
import Header from './components/header/header.js'
import Footer from './components/footer/footer.js'
import {Menu} from './components/menu/menu.js'
import {Home, About} from './components/home/home.js';
import {Editor} from './components/Editor/editor.js'
import ConfigurationContext from './contexts/configuration';
import {useContext} from 'react'
export const config = {
user: {
fullname: "Jim Brown",
id: 345
}
}
function App() {
const {Provider, Consumer} = useContext(ConfigurationContext)
Provider.value = config
return (
<Fragment>
<Header></Header>
<Router>
<Menu></Menu>
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/contact" >
<Editor />
</Route>
<Route exact path="/about" component={About} />
</Switch>
</Router>
<Footer></Footer>
</Fragment>
);
}
export default App;
导入“/App.css”;
从“React”导入React,{Fragment}
从“react Router dom”导入{BrowserRouter as Router,Route,Switch}
从“./components/Header/Header.js”导入标题
从“./components/Footer/Footer.js”导入页脚
从“./components/Menu/Menu.js”导入{Menu}
从'./components/Home/Home.js'导入{Home,About};
从“./components/Editor/Editor.js”导入{Editor}
从“./contexts/configuration”导入ConfigurationContext;
从“react”导入{useContext}
导出常量配置={
用户:{
全名:“吉姆·布朗”,
身份证号码:345
}
}
函数App(){
const{Provider,Consumer}=useContext(ConfigurationContext)
Provider.value=config
返回(
);
}
导出默认应用程序;
这就是我得到的错误:
TypeError:无法分解“Object(…)(…)”的属性“Provider”,因为它未定义。
应用程序
src/App.js:28
25 |
26 |功能应用程序(){
二十七|
28 | const{Provider,Consumer}=useContext(配置上下文)
29 |
30 | Provider.value=config
31 |
视图编译
▶ 17个烟囱框架倒塌
问题就在这里
const{Provider,Consumer}=useContext(ConfigurationContext),但就我所知,如果我想使用useContext(),我必须进行哪些更改您必须在根组件中创建上下文和提供值,并使用
useContext
订阅上下文值。此示例为您提供了如何使用useContext
的清晰概念。使用useContext阅读C组件示例