如何在 React Native 中定义全局变量?

How do I define a global variable in React Native?

问题 我正在使用 React Native 和 firebase 创建一个应用程序。我正在使用两个选项卡,我想将密钥从一个选项卡内部传递到另一个选项卡(对选项卡使用 tabNavigator/reactNavigation)。我不知道如何定义全局变量。我做了一些研究,发现我需要使用某种 .global 命令。我试过使用:

var passKey = '';
global.passKey = key; //defined before any screens

当这不起作用时:

this.global.setState({ passKey: item.key }) //defined in button in a flatlist

语句this.global.setState({})给我一个错误,global.passKey可能会全局保存变量,但是当我在屏幕内更改变量时,一个变量不会传递给另一个变量屏幕。我真的很想得到一些帮助来解决在两个选项卡之间传递变量的问题。谢谢!

如果你想在两个选项卡中获取你的变量,你必须使用 redux。但是如果你之前不使用它,当你第一次开始检查文档时可能会有点复杂 https://redux.js.org/

好吧,如果它只是一个不随时间变化的静态变量,请在项目的某处创建一个 constants.js 文件并执行 export const MY_VARIABLE = 'theValue'。之后你可以将它导入到需要它的文件中 - import { MY_VARIABLE } from './constants'

它是这样工作的:

global.js

export default {};

用法

import global from './global';

global.passKey = 123;

虽然您选择了接受的答案,但我相信这就是您所需要的。