Я создаю ползунок диапазона на React. Поэтому мне нужно обработать onMouseDown на кнопке, а затем я перемещаю мышь, перемещая кнопку. Затем я хочу обработать событие MouseUp, оно происходит за пределами кнопки.
Вот код:
const [pos,setPos] = useState()
// ...
const onMouseDownHandler = (e) => {
window.addEventListener("mousemove", e => {setPos(e.clientX)});
window.addEventListener("mouseup", window.removeEventListener("mousemove", e => {setPos(e.clientX)}))
}
// ...
<button
onMouseDown={onMouseDownHandler} />
...
Проблема в том, что pos
продолжает изменяться, removeEventListener
не здесь не работает.