【发布时间】:2020-10-08 21:26:03
【问题描述】:
好的,我在这里阅读了类似的问题,但我不明白为什么我的动态全局变量在 2 个文件中显示 2 个不同的值/没有更新。
我有一个像这样在文件 1 中声明的全局布尔值,位于此文件中导出的组件上方。我不导出这个全局变量:
global.isinLongPress = false;
class FloatingMenu extends React.PureComponent {
//this component
在整个文件 1 中,我根据是否点击了 TouchableOpacity 来更改此布尔值的值。我在这里执行此操作,布尔值显示为 true:
handleLongMenuPress = () => {
const { isOpen, onMenuToggle } = this.props;
onMenuToggle(true);
global.isinLongPress = true;
console.log('long menu press ', global.isinLongPress);
};
在文件 2 中,我想访问这个变量。这会在之前的 console.log 之后打印出来,但是它将布尔值读取为 false:
console.log(global.isinLongPress);
这里发生了什么?如何不断获取这个全局变量的更新值?
【问题讨论】:
-
你需要 redux、react context 或类似的东西才能做你想做的事情。
标签: reactjs react-native react-redux global