typescript - Text nu poate fi utilizat ca un component JSX, tipul său de instanță 'Text' nu este un element JSX valid


Primești următoarea eroare:

Textul nu poate fi utilizat ca un component jsx, tipul său de instanță 'Text' nu este un element JSX valid. Fișierul meu este .tsx deoarece într-un minut am nevoie să fie TypeScript, deoarece voi avea nevoie de RootState.

Am încercat următoarele până acum:

  • S-a asigurat că TS este instalat global

  • adăugat ' "allowSyntheticDefaultImports" : true ' în tsconfig.json

  • devDependencies pentru typescript există.

  • dependencies: "react": "17.0.2", "react-dom": "17.0.2",

import * as React from 'react';
import { View, Text} from 'react-native';

export default function ChatScreen({navigation}){
    return(

    <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
        <Text
            onPress={() => navigation.navigate('Chat')}
            style={{ fontSize: 26, fontWeight: 'bold'}}>Chat Screen</Text>
    </View>
    
    );
}

Nu reușesc să înțeleg de ce nu am voie să folosesc componente JSX în fișierul meu TSX. Sper că cineva mă poate ajuta să înțeleg.

Răspuns #1

Adaugă următoarele în fișierul tău package.json

"resolutions": {
  "@types/react": "^17.0.38"
}

Răspunsul #2

poți adăuga <React.Fragment> :

return(
   <React.Fragment>
    <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
        <Text
            onPress={() => navigation.navigate('Chat')}
            style={{ fontSize: 26, fontWeight: 'bold'}}>Chat Screen</Text>
    </View>
    </React.Fragment>
    );

aici pentru mai multe informații