问题
我正在使用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
可能会全局保存变量,但是当我更改屏幕内的变量时,一个变量不会传递给另一个变量屏幕。我真的很想得到一些帮助,以获得在两个选项卡之间传递变量的解决方案。谢谢!
答案 0 :(得分:0)
如果要在两个选项卡中获取变量,则必须使用redux。但是,如果您在开始查看文档https://redux.js.org/
之前没有使用它之前会有点复杂答案 1 :(得分:0)
好吧,如果它只是一个不随时间变化的静态变量,请在项目的某个位置创建一个constants.js
文件并执行export const MY_VARIABLE = 'theValue'
。之后,您可以将其导入需要它的文件 - import { MY_VARIABLE } from './constants'
答案 2 :(得分:0)
它的工作原理如下:
export default {};
import global from './global';
global.passKey = 123;
虽然您已选择接受的答案,但我相信这就是您所需要的。