From e17e25367131f915202844dc4ebf5864ef69b295 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 28 Feb 2022 11:25:48 +0100 Subject: [PATCH] use onMouseUp --- .../debugger-ui/src/lib/slider/slider.tsx | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/libs/remix-ui/debugger-ui/src/lib/slider/slider.tsx b/libs/remix-ui/debugger-ui/src/lib/slider/slider.tsx index 06fe05e949..89a09ce80e 100644 --- a/libs/remix-ui/debugger-ui/src/lib/slider/slider.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/slider/slider.tsx @@ -1,35 +1,28 @@ import React, { useState, useEffect, useRef } from 'react' // eslint-disable-line export const Slider = ({ jumpTo, sliderValue, traceLength }) => { - const [state, setState] = useState({ - currentValue: 0 - }) - const onChangeId = useRef(null) + const slider = useRef(null) useEffect(() => { setValue(sliderValue) }, [sliderValue]) const setValue = (value) => { - if (value === state.currentValue) return - setState(prevState => { - return { ...prevState, currentValue: value } - }) - jumpTo && jumpTo(value) - } - - const handleChange = (e) => { + if (value === slider.current.value) return + slider.current.value = value if (onChangeId.current) { - window.clearTimeout(onChangeId.current) + clearTimeout(onChangeId.current) } ((value) => { onChangeId.current = setTimeout(() => { - console.log(value) - value = parseInt(value) - setValue(value) + jumpTo && jumpTo(value) }, 100) - })(e.target.value) + })(value) + } + + const handleChange = (e) => { + setValue(parseInt(e.target.value)) } return ( @@ -37,11 +30,11 @@ export const Slider = ({ jumpTo, sliderValue, traceLength }) => {