Привет!
Нашел
пример интеграции js либы InteractJS в реакт проект
в файле hooks.ts мы создаем стейт _position, в котором храним xy коодринаты элемента, угол поворота и увеличение. Далее на 31 строке мы раскрываем объект _position (x, y, width, height).
На 45 строке мы сначала явно изменяем изменяем x, y, width, height, а затем только кидаем в стейт через setPosition.
Если же убрать явное изменение x, y, width, height и setPosition сделать такого вида:
setPosition({
width,
height,
x: x + event.dx,
y: y + event.dy,
})
, то при перемещении синего квадрата он будет возвращаться в исходное положение. Полагаю, из-за того что функция setPosition асинхронная.
Соответственно вопрос: можно ли так явно изменять стейт, пропсы?