我正在使用React Navigation的DrawerNavigation组件。我正在使用它的contentComponent属性传递自定义抽屉屏幕。但是,我一直收到以下错误:
我知道,我们不应该发布代码的截图,但我无法找到一种方法来复制模拟器上的堆栈跟踪。
我检查了DrawerSidebar.js文件,它似乎是显式导入React。我使用的是最新版本的react-navigation,这是导致错误的file。
答案 0 :(得分:1)
您必须将react导入定义了createDrawerNavigator()的导航组件中。像这样:
import React, { Component } from "react";
答案 1 :(得分:0)
您的自定义组件可能是.jsx。
.jsx需要导入React,因为它的语法糖。
https://reactjs.org/docs/jsx-in-depth.html
从根本上说,JSX只为React.createElement(component,props,... children)函数提供语法糖
<MyButton color="blue" shadowSize={2}> Click Me </MyButton>
编译成:
React.createElement( MyButton, {color: 'blue', shadowSize: 2}, 'Click Me' )
反应必须在范围内
由于JSX编译成对React.createElement的调用,因此React库也必须始终位于JSX代码的范围内。