首页 > 解决方案 > 嵌套的 TouchableOpacity Parent onPress 不起作用

问题描述

我有这个问题,我试图确保父母的 onPress 被触发,但它不会

我试图创建一个可以重用的自定义 touchableOpacity 组件,该组件包装其他组件,以便它可以决定是否可以显示子组件,并决定/更改按下子组件时会发生什么。

const CustomTouchable = (children, onPress) => {
   function handleOnPress = () => {
      if(validation){
         onPress();
      }
   }

   return <TouchableOpacity onPress={handleOnPress}>{children}</TouchableOpacity>
}


const MainComponent = () => {
   function onPress = () => {console.log('test')}

    <CustomTouchable onPress={onPress}>
       <TouchableOpacity style={styles.button}>
          <Text>Press Here</Text>
       </TouchableOpacity>
    </CustomTouchable>
}

但是没有触发父onPress,我该如何触发它?

标签: javascriptreact-nativetouchableopacity

解决方案


这是因为触摸事件是由孩子而不是父母接收的。将以下道具分配给您的子组件

pointerEvents={"none"}

推荐阅读