问答

react native global全局属性获取不到值

作者:admin 2021-04-21 我要评论

index.js: import {AppRegistry} from 'react-native';import App from './App';import {name as appName} from './app.json';GLOBAL.XMLHttpRequest = GLOBAL.o...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

index.js:

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';


GLOBAL.XMLHttpRequest = GLOBAL.originalXMLHttpRequest || GLOBAL.XMLHttpRequest
AppRegistry.registerComponent(appName, () => App);

App.js:

import React, { Component } from 'react';
import { View,StatusBar } from 'react-native';

import Nav from './src/nav'
// * 这里设置了一个全局属性
global.statusBarHeight = StatusBar.currentHeight

export default class App extends Component {
  render() {
    return (
      <View style={{flex:1}}>
        <StatusBar translucent={true} backgroundColor="transparent"></StatusBar>
        <Nav></Nav>
      </View>
    );
  }
}

nav.js:

import React, { Component } from 'react';
import { View, Text } from 'react-native';

console.log(global.statusBarHeight) // * undefined
export default class nav extends Component {

  render() {
    return (
      <View>
        <Text> nav </Text>
      </View>
    );
  }
}

image.png
自动更新是能拿到值的,但是手动reload或者重启app,都是undefined
(环境:Android)

###
  1. https://www.npmjs.com/package... 推荐看一下这个库
import {StatusBar} from 'react-native';
console.log('statusBarHeight: ', StatusBar.currentHeight);

使用该方式。但是该方式在ios下初始值是undefined

###

需要放在类里面

import React, { Component } from 'react';
import { View, Text } from 'react-native';


export default class nav extends Component {
  constructor(props) {
    super(props);
    // * 在类里才能获取到
    console.log(global.statusBarHeight)
  }

  render() {
    return (
      <View>
        <Text> nav </Text>
      </View>
    );
  }
}

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • react native global全局属性获取不到

    react native global全局属性获取不到

  • android BottomAppBar里面item位置

    android BottomAppBar里面item位置

  • 这是采用了哪种语言的编码 如何转码?

    这是采用了哪种语言的编码 如何转码?

  • uniapp 字节跳动小程序复选框样式如何

    uniapp 字节跳动小程序复选框样式如何

腾讯云代理商
海外云服务器