我刚刚升级到react-native 0.55.4。在iOS上成功启动并运行后,我现在正在Android上运行它。我收到以下错误:
Undefined is not an object (evaluating StatusBarManager.HEIGHT)
我将StatusBarManager.HEIGHT
追踪到node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js
。这是我整个代码库中访问StatusBarManager.HEIGHT
的唯一位置。它在react-native
包中。任何想法为什么会这样?我到处寻找解决方案。
出于某种原因,当我将模拟器连接到react devtools时出现了不同的错误:
答案 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)
})