Если я добавлю movement
к массиву зависимостей useCallback, я получу бесконечное l oop, но без него я получу предупреждения о добавлении.
Как правильно с этим справиться, хотя сохранить состояние как объект?
// state
const [
{ movement, start, ..., ..., ...},
setState,
] = useState({
movement: 0,
start: 0,
.... ,
.... ,
.... ,
...
// handler
const handleMouseMove = useCallback(
({ xpos }) => {
const walk = xpos - start
const atStart = walk + movement > 0
setState(state => ({
...state,
movement: atStart ? 0 : walk + movement,
}))
},
[start]
)