首页 > 解决方案 > 使用 let 改变视图的不透明度

问题描述

我正在使用 React Native 并进行了设置,因此当 TouchableOpacity 被触摸时,另一个 TouchableOpacity 更改的不透明度和被触摸的 TouchableOpacity 具有更高的不透明度。寻找如何修复或改进建议。

let opacityEnglish= true ? 1 : 0.5
let opacitySpanish = false ? 1 : 0.5

const languageSetHandler = (language) => {
    if(language == 'English') {
        opacityEnglish = true;
        opacitySpanish = false;
    }
    else if (language== 'Spanish') {
        opacitySpanish = true;
        opacityEnglish = false;
    }
    setLanguage(language);
}

<TouchableOpacity 
    style={styles.OtherStyles, {opacity: opacityEnglish}} onPress={() => languageSetHandler('English')}>
         <Text>English</Text>
         <Text>Has been selected</Text>
</TouchableOpacity>

有人建议不要对 let 使用布尔值。从 TouchOpacity 外部更改不透明度的任何替代方法?

标签: reactjsreact-native

解决方案


let opacityEnglish= true ? 1 : 0.5

这将始终解析为 1,因为true始终为真。

我认为您想要更多类似的东西:

let opacity = language === 'english' ? 1 : 0.5;


推荐阅读