Javascript 嵌套TouchableOpacity父对象onPress不工作
我有一个问题,我试图确保家长的新闻被触发,但它不会 我正在尝试创建一个可重用的定制touchableOpacity组件,它可以包装其他组件,以便决定是否可以显示子组件,并决定/更改按下子组件时发生的情况Javascript 嵌套TouchableOpacity父对象onPress不工作,javascript,react-native,touchableopacity,Javascript,React Native,Touchableopacity,我有一个问题,我试图确保家长的新闻被触发,但它不会 我正在尝试创建一个可重用的定制touchableOpacity组件,它可以包装其他组件,以便决定是否可以显示子组件,并决定/更改按下子组件时发生的情况 const CustomTouchable = (children, onPress) => { function handleOnPress = () => { if(validation){ onPress(); } }
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>
}
const CustomTouchable=(子对象,onPress)=>{
函数handleOnPress=()=>{
如果(验证){
onPress();
}
}
返回{children}
}
常量MainComponent=()=>{
函数onPress=()=>{console.log('test')}
按这里
}
但是父onPress没有被触发,我如何触发它?像这样禁用第二个TouchableOpacity
<TouchableOpacity onPress={onPress}>
<TouchableOpacity
disabled
style={styles.button}
>
<Text>Press Here</Text>
</TouchableOpacity>
</TouchableOpacity>
按这里
这是因为触摸事件是由孩子而不是家长接收的。将以下道具指定给子组件
pointerEvents={"none"}
嘿,谢谢你的回答,但在我的例子中,有时孩子们只是一个普通的组件,没有禁用propsOk,那么如果孩子们不是一个“按钮”,例如一个视图,那么它将不做任何事情就可以工作。真的吗?好的,很酷,但我还有另一个问题,比如说我把外部的touchableOpacity作为自定义组件,如何将禁用的道具传递给它的孩子们?你能举一个例子来回答另一个问题吗?然后我可以用代码示例来回答。我不知道你想做什么。好的,但是因为stackoverflow只允许每90分钟问一个问题,所以我只更新这个问题。谢谢,谢谢!这是一个,我在寻找,但很遗憾,我不能投票给你的答案,因为我刚刚加入这个网站。这是好的。很高兴为您提供帮助,您可以通过单击勾号图标接受这一正确答案。太棒了!它救了我一天@MoniqueAltero干杯