【发布时间】:2020-10-19 17:30:12
【问题描述】:
我有一个功能组件,我试图在其中使用上下文,我在导入期间获得了值,但是当我想在点击处理程序中使用它时,说它没有定义
component.js
// I get these values over here
const [contextState, setContextState] = useContext(MyContext);
const clickHandler = (e) => {
debugger; // when I am trying to log any of these values I get error of not defined
}
return (<button onClick={clickHandler}>Click me!</button>);
此外,我将我的 app.js 组件包装如下
import { MyContextProvider } from './MyContext';
return (
<Router>
<MyContextProvider>
<div className='App'>
<Component />
</div>
</AuthContextProvider>
</Router>
);
现在是我的上下文文件,myContext.js
import React, { useState, createContext } from 'react';
const MyContext = createContext([{}, () => {}]);
const MyContextProvider = (props) => {
const [contextState, setContextState] = useState({
userIsLoggedin: false,
fName: '',
lName: '',
userName: ''
});
return (
<myContext.Provider value={[contextState, setContextState]}>
{props.children}
</myContext.Provider>
);
};
export { myContext, MyContextProvider };
【问题讨论】:
-
能否修正拼写错误并提供component.js的完整代码?
-
修正了所有的错别字
标签: javascript reactjs react-context