【问题标题】:React Native TouchableHighlight onPress not workingReact Native TouchableHighlight onPress 不起作用
【发布时间】:2020-12-02 22:07:25
【问题描述】:

我已经尝试了一切来完成这项工作。我已经阅读了所有答案,但它对我从来没有用。我完全没有想法。

这是我要调用的函数:

function handlePress() {
    console.log('test');
}

这是我尝试过的:

这个什么都不做:

<TouchableHighlight
    onPress={() => { alert('You tapped the button!') }}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

这个不用我做任何事情就触发了:

<TouchableHighlight
    onPress={alert('You tapped the button!')}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

这个不用我做任何事情就触发了:

<TouchableHighlight
    onPress={handlePress()}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

这个什么都不做:

<TouchableHighlight
    onPress={() => {() => handlePress()}}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

这个什么都不做:

    <TouchableHighlight
    onPress={() => handlePress()}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

这个什么都不做:

<TouchableHighlight
    onPress={handlePress}>
  <Text style={ styles.sendButton }>Test Touch</Text>
</TouchableHighlight>

谁能帮忙?

【问题讨论】:

  • 您不需要将文本包装在视图中吗?点击后是否看到高亮动画?

标签: javascript android reactjs react-native


【解决方案1】:
  <TouchableHighlight style={{backgroundColor: 'yellow'}}
   onPress={()=> {alert('You tapped the button!')}}>
  <Text style={{color: '#000', textAlign: "center", fontSize: 40}}>Test Touch</Text>
  </TouchableHighlight>

我自己也试过这个,效果很好。我没有看到你的代码有什么不同,所以我复制了你的代码,试过了,它奏效了。你确定你没有弄乱 CSS 样式使其无法访问吗?

我会在某个屏幕上隔离按钮并单独尝试。

【讨论】:

  • 我隔离了它并且它起作用了。之后我重写了课程,现在很好。感谢您的建议。
【解决方案2】:

我所做的一切都和你一样。只有我严重依赖 VS 代码的自动导入,TouchableHighlight 是从 react-native-gesture-handler 自动导入的,而不是应该从 react-native 库导入的。

我将其更改为react-native,它工作正常。

错了

更正

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 2018-05-10
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多