Это мой первый раз, когда я использую обработчик жестов пальцев в 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 одно меньше)
¿Есть идеи? ¿Есть ли лучший способ справиться с этим?
Спасибо.