我正在尝试在我的应用程序中实现React-context,以摆脱道具钻取。在创建contextProvider时,我收到以下错误-
“元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但got: undefined。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入”。
const SharedThemeContext = React.createContext();
export class SharedThemeProvider extends Component {
static propTypes = {
children: PropTypes.func.isRequired
}
constructor(props) {
super(props);
this.state = {
isOpen: false,
message: '',
};
}
openSnackbar = (message) => {
this.setState({
message,
isOpen: true,
});
};
closeSnackbar = () => {
this.setState({
message: '',
isOpen: false,
});
};
render() {
const { children } = this.props;
return (
<SharedThemeContext.Provider
value={{
openSnackbar: this.openSnackbar,
closeSnackbar: this.closeSnackbar,
snackbarIsOpen: this.state.isOpen,
message: this.state.message,
}}
>
{children}
</SharedThemeContext.Provider>
);
}
}
export const SharedThemeConsumer = SharedThemeContext.Consumer;发布于 2019-05-03 10:03:44
警告是否提供了任何信息?
https://stackoverflow.com/questions/55962066
复制相似问题