javascript - 反应原生 TouchableHighlight 如何在箭头函数中更改覆盖颜色
问题描述
当我使用 touchableHighlight 时,我可以像这样更改覆盖颜色:
<TouchableHighlight
onPress={this.toggle.bind(this)}
underlayColor="#f1f1f1">
但是,当我像这样使用箭头函数时:
<TouchableHighlight
underlayColor="#f1f1f1"
onPress = {() => {
this.toggle(!this.state.modalVisible)}}>
UnderlayColor 不会改变。知道如何使用箭头功能并更改 underlayColor 吗?
解决方案
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"
})
}
推荐阅读
- documents4j - 支持转换软件
- eclipse - 无法使用 Gradle Buildship 扩展获取 GradleBuild
- java - 使用 Selenium 时,不提交明显选择的表单选项(手动测试时有效)
- python - 使用 Argparse 时“AttributeError: 'Namespace' object has no attribute 'command'” 不断出现在终端上
- join - 加入两个子查询
- elasticsearch - Elasticsearch:无法将参数 [analyzer] 从 [default] 更新为 [autocomplete]
- flutter - 在 iOS 模拟器中使用 Flutter 清空 cookie
- julia - readline 和 sympify 操作后嵌套数组的奇怪维度变化?
- jsf - Primeface 向导问题显示和隐藏选项卡
- javascript - 如果我从前端(React)获取(或发送请求)但通过 Postman Works 获取,则 Passport.js req.user 未定义或空字符串