React Native中的嵌套Touchables

时间:2017-01-04 08:11:51

标签: javascript react-native touchablehighlight

我遇到了一个问题,其中嵌套的Touchables中的双触摸(同时触摸)到达父Touchable。

在下面的示例中,Touchables嵌套了三层深。当我按下最深的可触摸(蓝色)时,控制台正确打印"蓝色"。当我按下其他图层打印时,它也能正常运行"绿色"和"红色"分别

当我做两个同时触摸和释放的事情时会产生奇怪的行为 - 然后触摸的图层onPress根本不会被调用。相反,当两个触摸结束时,父母Touchable只接受一次触摸。

此外,当我在最外层执行两个同时触摸(红色没有父可触摸)时 - 该层将接收触摸。从我的角度看,这似乎更正确,但偏离了上述嵌套Tocuables中的奇怪行为。

<View style={{flex:1, backgroundColor:"#666666"}}>

    <TouchableHighlight onPress={()=>{console.log("red")}}>
      <View style={{backgroundColor:"#FF0000", height:300}}>   
        <TouchableHighlight onPress={()=>{console.log("green")}}>
          <View style={{backgroundColor:"#00FF00", height:200}}>
            <TouchableHighlight onPress={()=>{console.log("blue")}}>
              <View style={{backgroundColor:"#0000FF", height:100}} />
            </TouchableHighlight>
          </View>
        </TouchableHighlight>
      </View>
    </TouchableHighlight>
</View>

1 个答案:

答案 0 :(得分:0)

我复制了你的代码,我有点无知它是否真的看起来像你想要实现的东西:https://snack.expo.io/@zvona/onpressin

小吃不允许使用多次触摸,但我做了很长时间:使用onPressIn代替onPress