我在将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;
答案 0 :(得分:1)
您使用的useContext
错误。它必须位于Provider
内/下的组件中。您可以在useContext
内移动ImageComponent
。或将Provider
移至index.js
。
请参阅react docs:useContext