react-use-gesture
ドラッグ イベントで div を移動するためにパッケージを使用していますが、境界を設定する必要があります。
これらの境界を設定するには、Spring の補間メソッドを使用する必要がありますuseSpring().set
か?それともメソッドにパラメーターを追加する必要がありますか?
速度がなくても問題ありませんが、useSpring().set
メソッドに速度パラメーターが必要です
import { useSpring, interpolate, animated, config } from "react-spring";
import { useDrag } from "react-use-gesture";
export default function App() {
const [{ pos }, set] = useSpring(() => ({ pos: [0, 0] }));
const bind = useDrag(
({
xy,
previous,
down,
movement,
direction,
velocity,
memo = pos.getValue()
}) => {
set({
pos: add(movement, memo),
immediate: down,
config: {
clamp: true,
velocity: scale(direction, velocity),
decay: true
}
});
return memo;
}
);
return (
<animated.div
{...bind()}
className={"mydiv"}
style={{
transform: pos.interpolate(x => `translateX(${x}px)`)
}}
>
</animated.div>
);
}