- 新建一个
constant.js
,专门负责初始化全局变量import { Dimensions, Platform, StatusBar } from 'react-native'; global.width = Dimensions.get('window').width; global.height = Dimensions.get('window').height;
- 在项目的入口文件(
index.js
)第一行导入constant.js
import './tools/constant'; //初始化变量
- 最后如果代码中需要用到屏幕宽高的地方都可以使用
width
和height
来作为屏幕的宽高。
在eslint中配置全局变量
- 当访问当前源文件内未定义的变量时,no-undef 规则将发出警告。如果你想在一个源文件里使用全局变量,推荐你在 ESLint 中定义这些全局变量,这样 ESLint 就不会发出警告了。你可以使用注释或在配置文件中定义全局变量。
- 要在你的 JavaScript 文件中,用注释指定全局变量,格式如下
/* global var1, var2 */
- 这定义了两个全局变量,var1 和 var2。如果你想选择性地指定这些全局变量可以被写入(而不是只被读取),那么你可以用一个 “writable” 的标志来设置它们:
/* global var1:writable, var2:writable */
- 要在配置文件中配置全局变量,请将 globals 配置属性设置为一个对象,该对象包含以你希望使用的每个全局变量。对于每个全局变量键,将对应的值设置为 “writable” 以允许重写变量,或 “readonly” 不允许重写变量。例如:
{ "globals": { "var1": "writable", "var2": "readonly" } }
案例:
module.exports = {
root: true,
extends: '@react-native-community',
rules: {
"react-native/no-inline-styles": 0 //禁止行内样式
},
"globals": {
//添加这一行,添加全局对象
"NavigationHelper": true,
"Http": true
}
};