Реагировать на собственный PinchGestureHandler - PullRequest
0 голосов

Это мой первый раз, когда я использую обработчик жестов пальцев в React Native ... Я пытаюсь создать масштабируемую камеру с помощью Expo. Что я делаю:

const handlePinch = ({ nativeEvent }) => {
    const { scale, velocity } = nativeEvent;

    // Here is where i'm having problems
    let newZoom =
      velocity > 0
        ? zoom + scale * 0.01
        : zoom - scale * Math.abs(velocity) * 0.02;

    if (newZoom < 0) newZoom = 0;
    else if (newZoom > 0.5) newZoom = 0.5;

    setZoom(newZoom);
};

....

 <ExpoCamera
        ref={cam}
        ...
        zoom={zoom} // zoom is a component state
      >
        <CameraGUI
          handlePinch={handlePinch}
          ...
        />
 </ExpoCamera>

Моя проблема в том, что работа на IOs выглядит мягко, но на моем android очень медленно (Я заметил, что скорости, возвращаемые каждым устройством, различаются, android одно меньше)

¿Есть идеи? ¿Есть ли лучший способ справиться с этим?

Спасибо.

...