如何在 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;
虽然您选择了接受的答案,但我相信这就是您所需要的。
问题
我正在使用 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;
虽然您选择了接受的答案,但我相信这就是您所需要的。