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