React Native/Expo中TS报错:JSX元素'Text'无构造或调用签名求助
解决React Native + TypeScript中
JSX element type 'Text' does not have any construct or call signatures.ts(2604)错误 报错原因是**FrontCard.tsx中Text组件的导入方式错误**。React Native的Text并非默认导出成员,而是命名导出,你使用默认导入(import Text from 'react-native')会导致Text变量指向的不是合法的组件类型,触发TypeScript类型校验报错。
修复步骤
修改FrontCard.tsx的导入语句,将Text改为解构导入:
import React from 'react' // 修正为解构导入Text import { Text, View } from 'react-native' const FrontCard: React.FC = () => { return ( <View> <Text>test</Text> </View> ) } export default FrontCard;
说明
React Native核心组件(如Text、View、StyleSheet等)均为命名导出,必须通过{}解构导入。默认导入一般用于自定义组件或库的主入口模块,错误的导入方式会让TypeScript无法识别其为合法的JSX构造函数类型,进而抛出该错误。
内容的提问来源于stack exchange,提问作者Garry
相关产品推荐
相关产品推荐

