使用 React Context 时如何修复此错误
Posted
技术标签:
【中文标题】使用 React Context 时如何修复此错误【英文标题】:How to fix this error when using React Context 【发布时间】:2019-09-21 13:02:24 【问题描述】:我正在尝试在我的应用程序中实现 React-context 以摆脱道具钻探。在创建 contextProvider 时,我收到以下错误- “元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义。您可能忘记从定义它的文件中导出组件,或者您可能混合了设置默认和命名导入”。
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;
【问题讨论】:
这就是我每次得到的......我尝试添加以下位,但仍然是同样的错误...... static propTypes = children: PropTypes.node.isRequired 解决了错误-我的 app.js 中有snackbarprovider 作为snackbar 【参考方案1】:警告是否提供任何信息?
【讨论】:
以上是关于使用 React Context 时如何修复此错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试执行 POST 方法时如何修复此 Sequelize Database 错误?
如何修复 react-scripts 启动时的“错误监视文件以进行更改:ECONNRESET”错误?
如何修复“TypeError:fsevents 不是构造函数”反应错误
如何修复 react 和 spring web 应用程序中的 cors 错误?
收到此错误:错误:捆绑失败:错误:无法解析模块`react-native-safe-area-context`
如何修复:React-Context - TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator)