gpt4 book ai didi

reactjs - 如何在 React Native 中的嵌套 Touchable 中传播触摸事件?

转载 作者:行者123 更新时间:2023-12-03 13:31:13 27 4
gpt4 key购买 nike

在我的应用程序中,我有一个嵌套的 Touchable 元素。每次我按下其中一个,我只得到一个事件。我可以将内部向下传播到层吗?提前致谢!

代码如下:

    <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>

最佳答案

Touchables 包含一个本地状态,这是它 native 的,而其他 Touchables不知道它。

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

这将是您的情况下嵌套按钮的生​​命周期,如 docs 中所述。

Parent: Parent Touchable
Child: Child Touchable

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

由于 onResponderReject,父级将无法访问

If a parent View wants to prevent the child from becoming responder on a touch start, it should have a onStartShouldSetResponderCapture handler which returns true.

你可以看看这个video

关于reactjs - 如何在 React Native 中的嵌套 Touchable 中传播触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49835883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com