'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