Шаблон публикации-подписки и видимость пользовательского интерфейса - PullRequest
1 голос
/ 08 мая 2019

В моем текущем SPA я храню все данные в централизованном хранилище (состоянии), чьи действия вызывают мутации состояния и публикуют определенные события pubSub.

Моя логика пользовательского интерфейса организована в различные представления (функции), которые привызвал рисование необходимых элементов пользовательского интерфейса (кеширует их), присоединяет события пользовательского интерфейса и подписывает специфическую логику пользовательского интерфейса для вышеупомянутых событий pubSub.

Идея: Пользователь запускает события пользовательского интерфейса, которые вызывают бизнес-логику, котораяможет изменить или не изменить состояние, и пользовательский интерфейс автоматически обновляется в соответствии с этими изменениями.

Проблема: Различные представления могут подписываться на одно и то же событие хранилища, поэтому может случиться, что выполняются обратные вызовыдля пользовательского интерфейса, который не существует в то время.

Вопрос: Должен ли я всегда отписываться от всех подписок на представление при изменении представления ИЛИ есть ли лучший способ сделать это?

Никаких основ / библиотек, в основном для целей обучения.

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

1 Ответ

0 голосов
/ 16 мая 2019

Да, вы должны отписаться от всех подписок на представление, когда представление изменяется.Вот как это обычно делается.

... на комментарий Виктора Зихлы.Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...