正如您在标题上看到的那样,我遇到了一个问题,该变量在应用程序执行期间会自行更改。自变变量是下面代码中的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 来改变我的方法。我也尝试过在不太复杂的函数中分离函数,但没有任何效果。