React Native 有全局作用域吗?如果不是,我该如何模仿呢?

Does React Native have global scope? If not, how can I mimic it?

我没能找到类似

的内容
$rootScope

对于 React Native,我想在不同的视图之间共享几个变量。

在全局范围内存储变量在 React 中有点反模式。 React 旨在与单向数据流一起使用,这意味着数据从组件流向它们的子组件。这是通过 the passing of props.

实现的

为了在多个视图之间共享一个值,您需要将数据存储在共享的父组件上并将其作为 prop 向下传递,或者将其存储在负责数据管理。在 ReactJS 中,这是通过 Flux 等模式实现的,但我不确定 react-native 的选项。

例如,您可以导出 class 静态属性,然后在需要时导入。

在main.js例如:

export class AppColors {
    static colors = {main_color: "#FFEB3B", secondary_color: "#FFC107"}
}

在其他文件中,哪里需要得到这个颜色

import { AppColors } from './main.js';

class AnotherPage {
    constructor() {
        super();
        console.log(AppColors.colors); // youla! You will see your main and secondary colors :)
    }
}

您可以将这些值存储在父组件状态中。然后传递通过道具或上下文更改这些值的方法/或像@Jakemmarsh建议的那样 - 使用 Flux/Redux 方法。

或者,您可以使用 AsyncStorage。它可用于存储令牌等应用程序数据。

第 1 步。创建 ConstantFile.js 文件并放入此代码。

export class ConstantClass {
    static webserviceName = 'http://172.104.180.157/epadwstest/';
    static Email = 'emailid';
    static Passoword = 'password';
}

第二步,如下访问。但在此之前,您需要 import 您的 js 文件到特定的 class 类似的文件

import { ConstantClass } from './MyJS/ConstantFile.js';

ConstantClass.webserviceName

ConstantClass.Email

ConstantClass.Passoword