全局变量在我的 React Native App 中自行改变

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

正如您在标题上看到的那样,我遇到了一个问题,该变量在应用程序执行期间会自行更改。自变变量是下面代码中的currentSlot

var currentSlot=0;

  const setCurrentSlot = () => {
    currentSlot++;
  };

  const onSelectColor = ({ hex }) => {
    switch(currentSlot) {
      case 0:
        setcolor0(hex);
        break;
      case 1:
        setcolor1(hex);
        break;
      case 2:
        setcolor2(hex);
        break;
      case 3:
        setcolor3(hex);
        break;
      case 4:
        setcolor4(hex);
        break;
      case 5:
        setcolor5(hex);
        break;
      case 6:
        setcolor6(hex);
        break;
      case 7:
        setcolor7(hex);
        break;
      case 8:
        setcolor8(hex);
        break;
      case 9:
        setcolor9(hex);
        break;
      default:
        Alert.alert('Maximum number of colors reached (10). Tap color to delete.');
    }
  };

此外,我已经实现了一个颜色选择器,从中我可以访问一种颜色,我希望后者显示到我在侧面显示的视图中。最终,该 View 组件中将总共有 10 种不同的颜色(每种颜色都显示在其更小的 View 中)。

所以我的想法是通过变量 currentSlot 遍历“小视图”,并将它们的颜色设置为当我单击“添加”按钮时颜色选择器给出的颜色。

然而,虽然 currentSlot 由函数 setCurrentSlot()(本身由“添加”按钮触发)正确递增,但它很快下降到其初始值(即 0),我似乎不知道为什么,因为我显然没有用它做任何其他事情。

有人有想法吗?

感谢您的帮助!

我尝试通过使用 if...else 语句或 switch...case 来改变我的方法。我也尝试过在不太复杂的函数中分离函数,但没有任何效果。

javascript react-native variables
© www.soinside.com 2019 - 2024. All rights reserved.