Expo启动应用时出现React.createElement无效类型错误求助
Expo启动报错:React.createElement类型无效的解决方法
问题根源
你的App.tsx中未默认导出App组件,尽管调用了registerRootComponent(App),但Expo的DevTools组件无法正确识别未导出的组件,从而触发类型无效的错误提示。
修复方法
方法1:添加默认导出
在代码末尾添加默认导出语句,让Expo能正确识别根组件:
import { registerRootComponent } from "expo"; import React from "react"; import { Text, View } from "react-native"; function App() { return ( <View> <Text>Hello world</Text> </View> ); } export default App; // 新增默认导出 registerRootComponent(App);
方法2:直接导出registerRootComponent的结果
也可以将registerRootComponent的调用结果作为默认导出,省去单独导出组件的步骤:
import { registerRootComponent } from "expo"; import React from "react"; import { Text, View } from "react-native"; function App() { return ( <View> <Text>Hello world</Text> </View> ); } export default registerRootComponent(App);
验证步骤
修改代码后,执行expo start -c清除缓存并重启开发服务器,应用即可正常加载并显示"Hello world"。
内容的提问来源于stack exchange,提问作者Freewalker
相关产品推荐
相关产品推荐

