スワイプするとカーソル動かせるやつ
Scrapboxにある機能の1つ
スマートフォンから使用している時にスワイプするとカーソルが左右に動く
便利そうなのでこんな感じにScrapboxみたいなのを実装するで作っているやつに実装してみた
カーソルを動かすとレンダリングが走るのでuseMemoを使用している
レンダリングが走る前提を忘れて作業をしていたため原因不明のバグに悩まされていた
code:typescript
const onTouchStart, onTouchMove = useMemo(() => {
let currentPos = -1;
const start = (e: React.TouchEvent<any>) => {
currentPos = e.targetTouches0.screenX;
};
const move = (e: React.TouchEvent<any>) => {
const offset = e.targetTouches0.screenX - currentPos;
if (offset < -15) {
editor.cursorLeft();
} else if (15 < offset) {
editor.cursorRight();
} else {
return;
}
currentPos = e.targetTouches0.screenX;
};
return start, move;
}, []);
これを適当な場所に埋めるだけ