React Native修改文件夹结构后出现props报错与"main"未注册异常
问题排查与修复方案
核心错误点1:App类定义语法错误
你在app/index.js中定义App类时多写了一对括号,错误写法为:
export default class App extends Component(){
Component是需要继承的父类,不是可执行函数,加括号会导致父类返回undefined,类初始化时无法正常挂载props,直接触发*TypeError: undefined is not an object (evaluating 'this.props = props')*报错。
修复方法
去掉Component后面的括号即可,正确写法:
export default class App extends Component {
核心错误点2:路径匹配检查
第二个报错Invariant Violation: "main" has not been registered属于根组件初始化失败后的连锁报错:因为根组件App初始化失败,RN无法正常注册主入口模块,就会抛出该错误。修复完上述语法错误后如果还有报错,需要确认文件路径匹配:
- 确认
home.js存放路径为app/screens/home.js,匹配app/index.js中的引入路径import Home from './screens/home' - 确认
card.js存放路径为app/components/card.js,匹配home.js中的引入路径import Card from '../components/card'
其他优化建议(非当前报错必需)
你代码中使用的UNSAFE_componentWillMount属于已标记为不安全的生命周期方法,可替换为componentDidMount避免后续版本兼容警告,不影响当前功能运行。
内容的提问来源于stack exchange,提问作者user16945874
相关产品推荐
相关产品推荐

