在嵌套的 TouchableOpacity 中不工作

Not working onPress in nested TouchableOpacity

嗨,我的自定义组件像这样包裹在 TouchableOpacity 中。


  const profileOnClick = () => {                                                                                                                                                                                                                                                        
    console.log('Card Clicked!');   
  };

  export const InfluencerCard = props => {

    const {influencer, navigation} = props;
    return (
      <TouchableOpacity onPress={() => profileOnClick()}>
        <Card>
          <Text>
            {influencer.user.name}
          </Text>
          <Text>
            {influencer.tags[0].name}
          </Text>
        </Card>
      </TouchableOpacity>
    );
  };   

在主屏幕中


        <ScrollView>
          {data.categoriesForHome.map(category => (
            <Layout key={category.id}>
              <Text>
                {category.name}({category.total})
              </Text>
              <ScrollView horizontal={true}>
                {category.influencerProfiles.map(profile => (
                  <View key={profile.id}>
                    <InfluencerCard influencer={profile} />
                  </View>
                ))}
              </ScrollView>
            </Layout>
          ))}
        </ScrollView>

当我单击自定义组件 InfluencerCard 时,它没有执行任何操作。 我想知道这是因为该组件在其他组件中,所以父组件阻止单击自定义组件。或者调用onPress函数错误

但我在没有父组件的情况下尝试过,它工作正常。 我错过了什么?

这是我的错误。问题不是来自代码或组件。 我使用来自 @ui-kitten/components 的 Card 组件,它在幕后实现了 TouchableOpacity。所以我不需要用 TouchableOpacity again.So 包装

<Card onPress={() => profileClick()}></Card>