Rectangle некорректно перерисовывается после преобразования в react-konva

Я использовал это (https://github.com/oasis10702/konva-simple-example) в моем проекте, и все работает нормально. Однако обновление react и react-konva до последней версии вызывает у меня непредусмотренное поведение. При изменении размера прямоугольника с помощью трансформатора он масштабирует обводку границы, см. Изображение. scaleX и scaleY, похоже, не сбрасываются, что заставляет его выполнять масштабирование каждый раз, когда я перемещаю прямоугольник.

Прямоугольник

Я новичок как в React, так и в Konva, и мне интересно, изменилась ли какая-то логика в новых версиях, которую я должен рассмотреть, чтобы смягчить это.

Попробуйте изменить размер прямоугольника в песочнице ниже. https://codesandbox.io/embed/vyv106x295 Если я обновлю зависимости до последней версии, поведение становится измененным.

Я пробовал решить эту проблему с помощью https://github.com/konvajs/konva/issues/401 но, похоже, в этой версии это не помогает.


person Anab    schedule 02.05.2019    source источник
comment
Как вам работала предыдущая версия? А в чем ваша главная проблема? Просто рендеринг?   -  person lavrton    schedule 02.05.2019
comment
Версия на примере github, представленная в описании, работает отлично. (Это React, react-dom: 16.4.2, konva: 2.2.1, react-konva: 1.7.12) Когда у меня более новые версии, у меня, кажется, возникают проблемы с масштабированием прямоугольников, scaleX и scaleY не Кажется, я не вернусь к 1. Я думаю, что лучший способ воспроизвести то, что я пытаюсь объяснить, - это попробовать пример на github и обновить все до последних версий.   -  person Anab    schedule 02.05.2019
comment
codeandbox.io/embed/vyv106x295   -  person Anab    schedule 02.05.2019


Ответы (1)


Основным изменением стал режим strict. Вы можете просто включить его обратно для всех фигур или только для одного прямоугольника:

<Rect {...someProps} scaleX={1} scaleY={1}  _useStrictMode />

Для получения дополнительной информации см .: https://github.com/konvajs/react-konva#strict-mode

person lavrton    schedule 02.05.2019