我有这样的事情:

<TouchableNativeFeedback
  onPress={this._changeAccount.bind(this, user)}
  delayPressIn={0}
  delayPressOut={0}
  useForeground={true}
  background={RippleColor('#ccc')}
>
  <PhotoStatus>
</TouchableNativeFeedback>


当我单击“ PhotoStatus”组件时,没有任何反应。

不调用onPress函数。

就是这样:
摄影状态

<View>
  <Image
    source={image}
    style={{
      width: dim - 30,
      height: dim - 30,
      borderRadius: (dim - 30) / 2,
    }}
  />
</View>


相反,如果我直接替换为其中包含的组件代码,它将起作用。

在expo的示例中,在下图中使用的地方有两个标记为红色的正方形。

javascript - 组件上的TouchableNativeFeedback不执行onPress函数-LMLPHP

链接博览会:expo

最佳答案

将组件包装在View中,它应该可以修复错误

<TouchableNativeFeedback
  onPress={this._changeAccount.bind(this, user)}
  delayPressIn={0}
  delayPressOut={0}
  useForeground={true}
  background={RippleColor('#ccc')}
>
  <View>
   <PhotoStatus>
  </View>
</TouchableNativeFeedback>


Expo Snack

关于javascript - 组件上的TouchableNativeFeedback不执行onPress函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52059551/

10-12 12:21
查看更多