reactjs - Obtener las coordenadas de un toque en React Native (Expo)
Necesito obtener las coordenadas (relativas) de un clic/toque en React Native.
Intenté usar RN <View onPress={(e: GestureResponderEvent) => ...}>
En la web, además uso e.nativeEvent que es del tipo PointerEvent, y uso layerX, layerY que me dan exactamente los números que necesito.
Desafortunadamente, el evento nativo de iOS tiene campos similares llamados locationX y locationY.
Tengo que usar este código feo para obtener las coordenadas
interface IEvent {
layerX?: number
layerY?: number
locationX?: number
locationY?: number
}
const { layerX, layerY, locationX, locationY } =
e.nativeEvent as unknown as IEvent
const x = layerX ?? locationX
const y = layerY ?? locationY
¿Existe una mejor manera multiplataforma de hacerlo? ¿Quizás necesito usar otro control u otro evento?
Respuesta #1
Por si alguien lo necesita.
Cambié el evento a onPressIn(e). Los eventos e.nativeEvent usan de manera consistente locationX y locationY en la Web y en iOS.