2016-04-27 3 views
0

В следующем случае - имеется карта с маркерами, которые добавляются и удаляются в соответствии с выбранными фильтрами.Вычислить разницу между двумя последующими состояниями Редуксов

Прямо сейчас у нас есть приложение JS с старым skool, в котором мы вычисляем дельту между обновленными и предыдущими наборами данных, а вместо того, чтобы полностью перерисовывать все маркеры на карте, мы удаляем устаревшие и добавляем новые маркеры.

Это дает нам более плавный UX. Как это сделать с Redux?

+0

Необходимо указать какой-то контекст, какова ваша текущая структура данных для хранения маркеров и т. Д. – hampusohlsson

ответ

1

Нет никакого «автоматического» способа сделать это - для этого требуется фактическая операция сравнения между старыми и новыми значениями состояния. Вообще говоря, вы либо сделаете это в промежуточном программном обеспечении после того, как действие будет уменьшено, либо в подписчике магазина.

К счастью, оказалось, что есть еще несколько пакетов аддона, которые уже делают это. Мой Redux addons catalog имеет ссылки на несколько библиотек, которые делают такие вещи, особенно в категориях DevTools и Store.

+0

это то, что я имею в виду, - не существует единственной копии состояния в данный момент времени , Я имею в виду, конечно, я могу сохранить предыдущее состояние в объекте окна, но нет ли более идиоматического пути? – lessless

+0

Nope. Так или иначе, вы должны иметь ссылку на старое состояние и ссылку на новое состояние, чтобы сравнить их. Redux сознательно не дает ничего необычного - пользователь должен решить, что они хотят делать поверх этого. – markerikson

Смежные вопросы