reactjs - React native Fehler: JSX-Elementtyp 'AppLoading' hat keine Konstruktor- oder Aufrufsignaturen?
Ich erstelle eine React Native Expo-Anwendung und versuche, einige benutzerdefinierte Schriftarten zu importieren. Ich möchte, dass die App eine AppLoading-Komponente rendert, wenn die Schriftarten geladen werden. Wenn ich sie jedoch in den Code einfüge und ausführe, gibt sie einen Fehler zurück, der besagt:
JSX element type 'AppLoading' does not have any construct or call signatures.Code :
// Importing packages
import { StyleSheet, View } from "react-native";
import React, { useState } from "react";
import redux, { createStore } from "redux";
import { Provider } from "react-redux";
import reducers from "./redux/index";
import AppLoading from "expo";
import Router from "./Router";
import loadFonts from "./fonts";
// App component
const App:React.FC = () => {
// Redux store
const store: redux.Store = createStore(reducers);
// State
let [loaded, setLoaded] = useState(false);
if (loaded) {
// Render app
return (
<React.StrictMode>
<Provider store={store}>
<View style={styles.container}>
{/* Router */}
<Router />
</View>
</Provider>
</React.StrictMode>
);
} else {
return (
<AppLoading startAsync={loadFonts} onFinish={() => setLoaded(true)} />
);
}
};
// Export app
export default App;
Danke!
Antwort #1
import AppLoading from "expo";
Das würde voraussetzen, dass AppLoading der Standardexport des gesamten Expo-Pakets ist, was definitiv nicht der Fall ist.
Laut der Dokumentation müssen Sie AppLoading so importieren:
import AppLoading from 'expo-app-loading';
