Please provide the following:
- SDK Version: 42
- Platforms(Android/iOS/web/all): all
- Add the appropriate “Tag” based on what Expo library you have a question on.
I upgraded to expo-app-loading
version 1.1.3 and my app crashes with this error:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of `App`.
This error is located at:
in App (created by ExpoRoot)
in ExpoRoot (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in DevAppContainer (at AppContainer.js:121)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)
I raised the issue here [expo-app-loading] Component Exception, element type is invalid with version 1.1.3 · Issue #14579 · expo/expo · GitHub
I am confident that I am importing this library correctly. if you run the example provided below you should be able to replicate this issue.
This is very easy to reproduce with a blank project. After running expo init
, run expo install expo-app-loading@^1.1.3
and change App.js
to look like this.
import { StatusBar } from 'expo-status-bar';
import React, { useState } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import AppLoading from 'expo-app-loading';
export default function App() {
const [isReady, setIsReady] = useState(false);
setTimeout(() => setIsReady(true), 1000);
if (!isReady) {
return <AppLoading />;
}
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
The only fix right now is to downgrade to 1.1.2