问题我正在创建一个具有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
可能会在全球保存变量,但是当我更改屏幕内部的变量时,一个变量不会传递到另一个屏幕。我真的很乐意一些帮助获得解决方案,以在两个选项卡之间传递变量。谢谢你!
它以这种方式工作:
global.js
export default {};
用法
import global from './global';
global.passKey = 123;
尽管您选择了接受答案,但我相信这是您需要的。
好吧,如果它只是一个不会随时间变化的静态变量,请创建项目中某个地方的constants.js
文件并执行export const MY_VARIABLE = 'theValue'
。之后,您可以将其导入需要它的文件-import { MY_VARIABLE } from './constants'
如果要在两个选项卡中获取变量,则必须使用redux。但是,如果您不使用它,则当您首次开始在此处检查文档时,它可能会有些复杂。