Reactjs 如何在React Native中的嵌套Touchable中传播touch事件?

Reactjs 如何在React Native中的嵌套Touchable中传播touch事件?,reactjs,react-native,Reactjs,React Native,在我的应用程序中,我有一个嵌套的可触摸元素。 每次我按下其中一个按钮,我只得到一个事件。 我可以把内部的传播到层的下方吗? 提前谢谢 代码如下: <TouchableHighlight style={{ flex: 1 }} onPress={() => { console.log('outer press') }}> <TouchableHighlight style={{ flex: 0.8, backgroundColor: 'blue' }

在我的应用程序中,我有一个嵌套的可触摸元素。 每次我按下其中一个按钮,我只得到一个事件。 我可以把内部的传播到层的下方吗? 提前谢谢

代码如下:

    <TouchableHighlight style={{ flex: 1 }} onPress={() => { console.log('outer press') }}>
        <TouchableHighlight style={{ flex: 0.8, backgroundColor: 'blue' }} onPress={() => { console.log('inner press') }}>
            <Text>1</Text>
        </TouchableHighlight>
    </TouchableHighlight>
{console.log('outer press')}>
{console.log('internalpress')}>
1.

您是否可以卸下外部的onPress?我不确定我是否理解这个问题,但请尝试在外部可触摸高光上使用
event.preventDefault
,仅访问内部可触摸高光

<TouchableHighlight style={{ flex: 1 }} onPress={(event) => { event.preventDefault() }}>
    <TouchableHighlight style={{ flex: 0.8, backgroundColor: 'blue' }} onPress={() => { console.log('inner press') }}>
        <Text>1</Text>
    </TouchableHighlight>
</TouchableHighlight>
{event.preventDefault()}}>
{console.log('internalpress')}>
1.

A
Touchables
包含一个本地状态,它是本地的,而另一个
Touchables
不知道它。

因此,当您触摸一个嵌套的
Touchable
时,事件将被传播到访问该状态的子元素,并且除非资源完成,否则不会释放该资源

下面是嵌套的
按钮的生命周期,如中所述

由于
onresponderject

如果家长
视图
想要阻止孩子在触摸启动时成为响应者,那么它应该有一个
启动时应设置响应者权限
处理程序,该处理程序返回


你可以看看这个

你能发布代码吗?@PritishVaidya我在这里创建了一个小吃:谢谢你的回答。对于其他人来说,我想知道更多的细节。您可以搜索
onStartShouldSetResponder
onStartShouldSetResponderCapture
Parent: Parent Touchable
Child: Child Touchable

Parent onStartShouldSetResponder > Parent onResponderGrant > Parent onResponderTerminationRequest > Parent onResponderTerminate > Child onStartShouldSetResponder > Child onResponderGrant > Child onResponderRelease