You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native报错Element type is invalid: got undefined如何排查解决?

问题排查与解决方法

报错的核心原因是TitleScreen渲染过程中用到了值为undefined的组件,按优先级依次检查修复:

  • 优先级1:修复AdMobBanner导入错误
    你当前TitleScreen.js中import { AdMobBanner } from 'expo';的写法已不兼容高版本Expo SDK:Expo从38版本开始将AdMob相关组件拆分到了独立的expo-ads-admob包中,直接从expo包导入会拿到undefined,渲染时就会触发该错误。
    修复步骤:
  1. 终端执行安装命令:expo install expo-ads-admob
  2. 将TitleScreen中的AdMobBanner导入语句替换为:import { AdMobBanner } from 'expo-ads-admob';
  • 优先级2:修复App.js的PureComponent导入缺失
    App.js中定义组件时继承了PureComponent,但代码开头没有导入该API,会导致组件初始化异常:
    在App.js的最顶部添加导入:
import React, { PureComponent } from 'react';
  • 优先级3:检查TitleScreen的样式定义
    你贴出的TitleScreen代码中多处使用了styles.xxx的样式属性,但没有对应的StyleSheet.create样式定义,若实际代码中也缺失该部分,补充样式定义即可。

  • 快速定位验证方法
    可以先临时注释掉TitleScreen中的AdMobBanner组件代码,重启项目后如果报错消失,即可直接确认是广告组件导入错误导致的问题。


内容的提问来源于stack exchange,提问作者Danno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:24:02