Javascript 触摸式本机反馈ON按不起作用
我目前面临着一个挑战,但是解决方案对我来说不起作用 我有一个模态,我正在其上创建一个按钮来关闭模态。这是一个功能组件,它在modalClosed中获取函数Javascript 触摸式本机反馈ON按不起作用,javascript,react-native,react-native-android,Javascript,React Native,React Native Android,我目前面临着一个挑战,但是解决方案对我来说不起作用 我有一个模态,我正在其上创建一个按钮来关闭模态。这是一个功能组件,它在modalClosed中获取函数 <TouchableNativeFeedback onPress={props.modalClosed}> <View style={{ backgroundColor: '#5d5d5d', padding: 10 }}> <Text style={[globalStyl
<TouchableNativeFeedback onPress={props.modalClosed}>
<View style={{ backgroundColor: '#5d5d5d', padding: 10 }}>
<Text style={[globalStyles.text, { textAlign: 'center' }]}>Close!</Text>
</View>
</TouchableNativeFeedback>
接近!
由于某些原因,这不是执行onPress事件
但是,如果我用下面的代码替换此代码,它将正常工作
<Button title="Close" onPress={props.modalClosed} color='#5d5d5d' />
使用TouchableNativeFeedback的类似实现在另一个屏幕上工作(非模态)。有人能解释一下我做错了什么吗
示例链接
我不确定您在代码中是如何使用状态的,但我相信您可以尝试如下设置状态
constructor(props) {
super(props);
this.state = {
modalOpen: false
};
}
closeModal = () => {
this.setState({ modalOpen: false });
}
<TouchableNativeFeedback onPress={this.modalClosed} />
建造师(道具){
超级(道具);
此.state={
莫达洛彭:错
};
}
closeModal=()=>{
this.setState({modalOpen:false});
}
或者,您是否尝试使用模态组件?但我怀疑它是否适用于TouchableNativeFeedback包装器
<Modal
animationType="slide"
transparent={true}
visible={true}
onRequestClose={() => {
Alert.alert('Modal has been closed.');
}} >
{
警报。警报('模式已关闭');
}} >
希望能有帮助 我不确定您在代码中是如何使用state的,但我相信您可以尝试如下设置state
constructor(props) {
super(props);
this.state = {
modalOpen: false
};
}
closeModal = () => {
this.setState({ modalOpen: false });
}
<TouchableNativeFeedback onPress={this.modalClosed} />
建造师(道具){
超级(道具);
此.state={
莫达洛彭:错
};
}
closeModal=()=>{
this.setState({modalOpen:false});
}
或者,您是否尝试使用模态组件?但我怀疑它是否适用于TouchableNativeFeedback包装器
<Modal
animationType="slide"
transparent={true}
visible={true}
onRequestClose={() => {
Alert.alert('Modal has been closed.');
}} >
{
警报。警报('模式已关闭');
}} >
希望能有帮助 我也遇到了类似的问题,这就是我的解决方案。 错误-不要像这样导入: 从“反应本机手势处理程序”导入{TouchableNativeFeedback} 解决方案: 我从“react native”导入了TouchableNative反馈,如下所示: 从“react native”导入{TouchableNativeFeedback} 我认为TouchableOpacity和TouchableNativeFeedback在从“react-native手势处理程序”导入时不会在模式组件中触发onPress,只有按钮起作用
希望这有帮助我也遇到过类似的问题,这就是我的解决方案。 错误-不要像这样导入: 从“反应本机手势处理程序”导入{TouchableNativeFeedback} 解决方案: 我从“react native”导入了TouchableNative反馈,如下所示: 从“react native”导入{TouchableNativeFeedback} 我认为TouchableOpacity和TouchableNativeFeedback在从“react-native手势处理程序”导入时不会在模式组件中触发onPress,只有按钮起作用
希望这有帮助世博会链接能提供更多的见解。我已经试过制作一个,两个按钮都对我有用。另外,如果您正在将视图包装到touchables中,请尝试更改视图的指针事件。谢谢Karthik。这是另一个指针/解决方法。请检查世博会链接的更新。它的代码完全相同,只是我没有将控件导出到另一个js。expo链接将提供更多的洞察力。我已经尝试制作一个,两个按钮都适合我。另外,如果您正在将视图包装到touchables中,请尝试更改视图的指针事件。谢谢Karthik。这是另一个指针/解决方法。请检查世博会链接的更新。它的代码完全相同,只是我没有将控件导出到另一个js。