Búsqueda de sitios web

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.