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

时间:2017-11-21 06:03:27

标签: javascript variables react-native react-navigation

问题 我正在使用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可能会全局保存变量,但是当我更改屏幕内的变量时,一个变量不会传递给另一个变量屏幕。我真的很想得到一些帮助,以获得在两个选项卡之间传递变量的解决方案。谢谢!

3 个答案:

答案 0 :(得分:0)

如果要在两个选项卡中获取变量,则必须使用redux。但是,如果您在开始查看文档https://redux.js.org/

之前没有使用它之前会有点复杂

答案 1 :(得分:0)

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

答案 2 :(得分:0)

它的工作原理如下:

global.js

export default {};

用法

import global from './global';

global.passKey = 123;

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