【发布时间】:2020-06-06 19:54:48
【问题描述】:
我试图在反应中使用上下文,自从我使用它以来已经有一段时间了。当我打印出我未定义的 productConsumer 变量时尝试调试。谁能帮我解决这个问题?
import { ProductContext } from '../../pages/oniContext';
function Contact(props) {
const productConsumer = useContext(ProductContext);
useEffect(() => {
console.log("ProductContext",productConsumer)
}, [ProductContext])
这是我的上下文文件
import React, { Component } from 'react';
const ProductContext = React.createContext();
export default class ProductProvider extends Component {
state = {
name: '',
number: '',
message: '',
email: '',
messageSent: false,
};
render() {
return (
<ProductContext.Provider
value={{
...this.state,
}}
>
{this.props.children}
</ProductContext.Provider>
);
}
}
const ProductConsumer = ProductContext.Consumer;
export { ProductProvider, ProductConsumer, ProductContext };
【问题讨论】:
-
我假设
ProductProvider是Contact的父级? -
您是否使用
ProductProvider包装了组件? -
你怎么
export default class ProductProvider然后又export { ProductProvider, ...? -
我没有包装它我以为我只需要使用 usecontext
标签: reactjs react-context