'TypeError: undefined is not an object (evaluating '_expoConstants.Constants.statusBarHeight')
I am trying to use Constants.statusBarHeight to separate the view from the status bar in react-native, i installed Constants using expo install expo-constants
but im getting this error:
TypeError: undefined is not an object (evaluating '_expoConstants.Constants.statusBarHeight')
at node_modules\react-native\Libraries\LogBox\LogBox.js:149:8 in registerError
at node_modules\react-native\Libraries\LogBox\LogBox.js:60:8 in errorImpl
at node_modules\react-native\Libraries\LogBox\LogBox.js:34:4 in console.error
at node_modules\expo\build\environment\react-native-logs.fx.js:27:4 in error
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:104:6 in reportException
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:172:19 in handleException
at node_modules\react-native\Libraries\Core\setUpErrorHandling.js:24:6 in handleError
at node_modules\@react-native\polyfills\error-guard.js:49:36 in ErrorUtils.reportFatalError
at node_modules\metro-runtime\src\polyfills\require.js:204:6 in guardedLoadModule
at http://192.168.1.5:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=android&dev=true&hot=false&minify=false:137612:3 in global code
this is my source Code:
import React from "react";
import Constants from "expo-constants";
import { StyleSheet, SafeAreaView, View } from "react-native";
function Screen({ children, style }) {
return (
<SafeAreaView style={[styles.screen, style]}>
<View style={style}>{children}</View>
</SafeAreaView>
);
}
const styles = StyleSheet.create({
screen: {
paddingTop: Constants.statusBarHeight,
flex: 1,
},
});
export default Screen;
it seems like Vs code is not able to import Constants.
Solution 1:[1]
seems like u have imported the expo constants and installed it in the correct manner try the following trick if it works declare variable const barHeight = Constants.statusBarHeight; and use in ur style property
Solution 2:[2]
Import expo-constants
:
import * as Constants from 'expo-constants'
Then style with the following:
const styles = StyleSheet.create({
screen: {
paddingTop: Constants.default.statusBarHeight,
flex: 1,
},
});
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Comunev HR |
Solution 2 | Zach Jensz |