Undefined不是一个对象(评估StatusBarManager.HEIGHT)react-native 0.55.4

时间:2018-06-06 08:47:09

标签: android reactjs react-native

我刚刚升级到react-native 0.55.4。在iOS上成功启动并运行后,我现在正在Android上运行它。我收到以下错误:

Undefined is not an object (evaluating StatusBarManager.HEIGHT) 

Android emulator NOT connected to devtools

我将StatusBarManager.HEIGHT追踪到node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js。这是我整个代码库中访问StatusBarManager.HEIGHT的唯一位置。它在react-native包中。任何想法为什么会这样?我到处寻找解决方案。

出于某种原因,当我将模拟器连接到react devtools时出现了不同的错误:

Android emulator red screen error

2 个答案:

答案 0 :(得分:1)

在我的情况下,问题是我错过了 MainApplication.java

中的一个包

该软件包位于 getPackages()方法内的new MainReactPackage()

答案 1 :(得分:-1)

试试这个

import { Platform, NativeModules } from 'react-native';
const { StatusBarManager } = NativeModules;

const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 34 : StatusBarManager.HEIGHT;

在iOS上,您可以使用getHeight()

StatusBarManager.getHeight((statusBarHeight)=>{
  console.log(statusBarHeight)
})