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

Javascript 如何在React Native中定义全局变量?,javascript,variables,react-native,react-navigation,Javascript,Variables,React Native,React Navigation,问题 我正在使用React Native和firebase创建一个应用程序。我使用了两个选项卡,我想将键从一个选项卡内部传递到另一个选项卡(使用选项卡的tabNavigator/reactNavigation)。我不知道如何定义一个全局变量。我做了一些研究,发现我需要使用某种.global命令。我试过使用: var passKey = ''; global.passKey = key; //defined before any screens 当这不起作用时: this.global.setS

问题 我正在使用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。但是如果您在第一次开始检查这里的文档时没有使用它,那么它可能会有点复杂。如果它只是一个静态变量,不会随时间而改变,那么在项目中的某个地方创建一个
constants.js
文件,并执行
导出const MY_variable='theValue'
。之后,您可以将其导入到需要它的文件中-
从“/constants”导入{MY_VARIABLE}

其工作方式如下:

global.js
导出默认值{};
用法
从“/global”导入全局;
global.passKey=123;

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

由于我无法预测用户将选择什么帖子,因此必须对变量进行编辑。有没有什么方法可以使用你的解决方案(因为代码工作了,只是不满足我的需要),但也可以编辑变量?好的,我恐怕没有关于任务的详细信息,但我认为你要做的是将一个参数从一个场景传递到另一个场景。实际上不需要为此保留全局变量,您可以通过
reactNavigation
传递参数。此链接是否涵盖您需要的内容假设一个用户选择了某个帖子并将被带到另一个选项卡,您可以执行
导航('AnotherTab',{postId:'someId'})
,并访问其他选项卡中的参数。我想这可能是你真正需要的我知道这个问题很老了,但我需要帮助解决我在参数方面遇到的一个错误。每当我尝试在函数中使用参数时,就会出现错误“找不到变量参数”。如何在函数中使用参数?我做错什么了吗?谢谢,如果其他解决方案对我不起作用,我会记住这一点。是否可以在代码中更新
passkey
?我的意思是像
global.passKey=456