React Native onStartShouldSetResponder 和 onResponderRelease?

Posted

技术标签:

【中文标题】React Native onStartShouldSetResponder 和 onResponderRelease?【英文标题】:React Native onStartShouldSetResponder and onResponderRelease? 【发布时间】:2016-08-14 00:12:49 【问题描述】:

我创建了一个按钮,我希望它在单击时调用函数,然后在释放时再次调用。普通的 TouchableOpacity 或其他只会在释放点击时触发功能,我需要同时点击和释放的功能。

<View
    style=styles.touchbutton
    onStartShouldSetResponder=() => this.clickOn()
    onResponderRelease=() => this.clickRelease()>
    <Text style=styles.dark>Button</Text>
</View>

以上代码在点击时有效,但在发布时无效。我也试过 onResponderReject 但这也不起作用。很难找到命令应该是什么。

【问题讨论】:

【参考方案1】:

遇到了同样的问题。 onStartShouldSetResponder需要返回true

onStartShouldSetResponder=(e) => 
    /*do whatever*/;
    return true

【讨论】:

【参考方案2】:

请尝试此代码对于您的点击事件,它适用于我:

clickOn()
Alert.alert(
  'Test Demo',
  'Please Enter Valid Data',
  [
    //text: 'Ask me later', onPress: () => console.log('Ask me later pressed'),
    text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel',
    text: 'OK', onPress: () => console.log('OK Pressed'),
  ],
   cancelable: false 
)
  

把这两行放在你发布时对我有用
  onStartShouldSetResponder=() => true
  onResponderRelease=() => this.onRowTap()

【讨论】:

以上是关于React Native onStartShouldSetResponder 和 onResponderRelease?的主要内容,如果未能解决你的问题,请参考以下文章

react native 增加react-native-camera

更新 react-native-maps 以使用 create-react-native-app

react native 增加react-native-storage

React-Native 和 Expo:create-react-native-app 和 react-native init 之间的区别

什么是 react-native-cli 和 @react-native-community/cli?

React Native - 当 react-native 版本 > 0.55 时,无法通过 react-native-cli 创建新项目