首页 > 解决方案 > 反应原生 TouchableHighlight 如何在箭头函数中更改覆盖颜色

问题描述

当我使用 touchableHighlight 时,我可以像这样更改覆盖颜色:

 <TouchableHighlight
                     onPress={this.toggle.bind(this)}
                     underlayColor="#f1f1f1">

但是,当我像这样使用箭头函数时:

    <TouchableHighlight
                     underlayColor="#f1f1f1"
                     onPress = {() => {
                     this.toggle(!this.state.modalVisible)}}>

UnderlayColor 不会改变。知道如何使用箭头功能并更改 underlayColor 吗?

标签: javascriptiosreact-native

解决方案


1.如果在构造函数或类中,可以使用

this.state = {
underlayColor:"#f1f1f1"
}

在任何其他功能中

this.setState({underlayColor:"#f1f1f1"})

2.

<TouchableHighlight
 onPress={this.toggle.bind(this)}
 underlayColor={this.state.underlayColor}>

toggle =()=>{
 this.setState({
 underlayColor:"new color"
})
}

推荐阅读