You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native TouchableOpacity 加载自动触发点击、按下无响应问题咨询

问题原因

你在TouchableOpacity的onPress属性中错误使用了逗号运算符:

  • JS解析onPress={(console.log('asda'), () => navigation.navigate('Home'))}时,会在组件渲染阶段立即执行逗号左侧的console.log('asda'),之后才会将逗号右侧的跳转箭头函数赋值给onPress
  • 这就是为什么页面加载时就会打印日志,点击按钮时只执行跳转逻辑、没有日志输出的原因

修复方案

把console.log移动到onPress绑定的箭头函数内部即可:

<TouchableOpacity
  onPress={() => {
    console.log('asda')
    navigation.navigate('Home')
  }}>
  <Image
    style={s.icon}
    source={require('../../assets/icon/home.png')}
  />
  {active == 0 ? <View style={s.iconActive} /> : <View />}
</TouchableOpacity>

内容的提问来源于stack exchange,提问作者Surezluvy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:42:01