React Native const 值更改

问题描述 投票:0回答:2

在我的 React-Native 应用程序中;我在一个名为:

constants.js

的组件中声明了一个 const 变量,如下所示

export const IS_VIA_DEEP_LINK = false

现在,

在我的

Splashscreen.js
中,我正在做如下:

constants.IS_VIA_DEEP_LINK=true;

当我尝试在同一个

Splashscreen.js
或任何其他功能组件中访问 IS_VIA_DEEP_LINK 的值时,我会得到更新的值 - true。

怎么可能?

javascript reactjs react-native variables scope
2个回答
0
投票

最简单的方法是使用 react-native-async-storage:

  1. 存储数据:
const storeData = async (value) => {
  try {
    await AsyncStorage.setItem('IS_VIA_DEEP_LINK', value);
  } catch (e) {
    // saving error
  }
};
  1. 读取数据:
const getData = async () => {
  try {
    const value = await AsyncStorage.getItem('IS_VIA_DEEP_LINK');
    if (value !== null) {
      // value previously stored
    }
  } catch (e) {
    // error reading value
  }
};

您可以在项目的任何地方使用以上 2 个功能


0
投票

您无法更改原始常量变量的值。 JavaScript 中的基本类型有

string
number
bigint
boolean
undefined
symbol
null

1.方法

IS_VIA_DEEP_LINK
变量定义为
let

export let IS_VIA_DEEP_LINK = false
2.方法

如果您想将变量保留为常量,请将其放入对象中并导出该对象。由于对象是通过引用存储的,因此即使对象定义为常量,您也可以更改它们的值。

export const constants = {
  IS_VIA_DEEP_LINK: false
}
constants.IS_VIA_DEEP_LINK = true
© www.soinside.com 2019 - 2024. All rights reserved.