[英]React Context / own hook
I am having a problem with importing HiddenProvider to App.js It gives me this bug "Attempted import error: 'HiddenProvider' is not exported from './HiddenContext'. I would be very grateful if I got some help. Thanks in Advance.我在将 HiddenProvider 导入 App.js 时遇到问题它给了我这个错误“尝试导入错误:'HiddenProvider'不是从'./HiddenContext'导出的。如果我得到一些帮助,我将非常感激。提前致谢。
import React, { useState } from 'react';
export const HiddenContext =React.createContext(false)
export const HiddenProvider = ({children}) => {
const[hideButton, setHideButton]= React.useState(false)
function handleClick (){
setHideButton(true)
}
return(
<HiddenContext.Provider value ={{hideButton,handleClick}}>
{children}
</HiddenContext.Provider>
);
}
import React, { useState } from 'react';
import './App.css';
import Sidebar from './Sidebar';
import ImageComponent from './ImageComponent';
import { HiddenProvider } from './HiddenContext';
import { HiddenContext} from './HiddenContext';
function App() {
const{ hideButton}=React.useContext(HiddenContext)
return (
<div className="App">
<Sidebar />
<HiddenProvider>
<ImageComponent hideButton={hideButton} />
</HiddenProvider>
</div>
);
}
export default App;
You are using useContext
wrong.您正在使用useContext
错误。 It has to be in a component that is inside/under the Provider
.它必须位于Provider
内部/下方的组件中。 You could move useContext
inside the ImageComponent
.您可以在ImageComponent
内移动useContext
。 Or move the Provider
into index.js
.或者将Provider
移动到index.js
。
see react docs: useContext请参阅反应文档: useContext
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.