Я столкнулся с проблемой при использовании дроссельной заслонки.Используя код ниже, дроссель работает правильно.Но что-то идет не так, когда я раскомментирую setPosition([e.clientX, e.clientY])
.Дроссель сломан и position
обновляется немедленно, не дожидаясь 1 секунды.
import React, { useState } from 'react'
import { throttle } from 'lodash'
export default () => {
const [position, setPosition] = useState([0, 0])
const [x, y] = position
const handleMouseMoveThrottle = throttle(e => {
console.log(e.clientX, e.clientY)
// setPosition([e.clientX, e.clientY])
}, 1000)
const handleMouseMove = e => {
e.persist()
handleMouseMoveThrottle(e)
}
return (
<div
style={{ width: 300, height: 300, border: 'solid 1px black' }}
onMouseMove={handleMouseMove}
>
<div>
Position: {x}, {y}
</div>
</div>
)
}
Есть ли решение?