Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 触摸式本机反馈ON按不起作用_Javascript_React Native_React Native Android - Fatal编程技术网

Javascript 触摸式本机反馈ON按不起作用

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

我目前面临着一个挑战,但是解决方案对我来说不起作用

我有一个模态,我正在其上创建一个按钮来关闭模态。这是一个功能组件,它在modalClosed中获取函数

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