Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 React-Native Pan应答器与另一组分重叠_Javascript_Reactjs_React Native_React Native Web_Panresponder - Fatal编程技术网

Javascript React-Native Pan应答器与另一组分重叠

Javascript React-Native Pan应答器与另一组分重叠,javascript,reactjs,react-native,react-native-web,panresponder,Javascript,Reactjs,React Native,React Native Web,Panresponder,我是个新来的土生土长的人,即使经过很多研究,我也无法解决这个问题 我正在尝试用react natives pan responder library记录触摸屏的所有触摸坐标(使用Expo web进行移动使用)。但是,我注意到,pan应答器无法识别按钮等组件上的点击。所有其他触摸都由pan响应者记录 我该怎么做才能让Pan响应者注册屏幕上的每次点击,并调用相应的按钮功能 代码: import React,{Component}来自“React”; 从“react native”导入{View,Pa

我是个新来的土生土长的人,即使经过很多研究,我也无法解决这个问题

我正在尝试用react natives pan responder library记录触摸屏的所有触摸坐标(使用Expo web进行移动使用)。但是,我注意到,pan应答器无法识别按钮等组件上的点击。所有其他触摸都由pan响应者记录

我该怎么做才能让Pan响应者注册屏幕上的每次点击,并调用相应的按钮功能

代码:

import React,{Component}来自“React”;
从“react native”导入{View,PanResponder,Text,Button};
导出默认类应用程序扩展组件{
panResponder=panResponder.create({
onStartShouldSetPanResponder:(evt,手势状态)=>{
log(“单击坐标(x | y):”,evt.nativeEvent.pageX,evt.nativeEvent.pageY)
},
onStartShouldSetPanResponderCapture:(evt,gestureState)=>()=>{},
onPanResponderGrant:(evt,gestureState)=>{},
onPanResponderRelease:(evt,gestureState)=>{},
})
render(){
返回(
这起作用(pan响应程序被调用)
{console.log(“按下按钮”)}}title=“这不是(pan响应程序无法识别btn点击)”/>
);
}
}
import React, { Component } from "react";
import { View, PanResponder, Text, Button } from "react-native";

export default class App extends Component {
    panResponder = PanResponder.create({

        onStartShouldSetPanResponder: (evt, gestureState) => {
            console.log("clicked coord (x|y):", evt.nativeEvent.pageX, evt.nativeEvent.pageY)

        },

        onStartShouldSetPanResponderCapture: (evt, gestureState) => () => { },
        onPanResponderGrant: (evt, gestureState) => { },
        onPanResponderRelease: (evt, gestureState) => { },

    })

    render() {
        return (
            <View style={{ flex: 1 }}{...this.panResponder.panHandlers}>
                <Text>this works (pan responder gets called)</Text>

                <View>
                    <Button onPress={() => { console.log("button pressed") }} title="this not (pan responder doesn't recognize btn clicks)" />
                </View>
            </View >
        );
    }
}