Проблема
Если полазить по разным страницам с включенным keepAlive, то в какой-то момент стреляет ошибка Possible memory leak из eventemitter, связано с тем, что мы подписываемся в каждом компоненте на изменение темы для синхронизации модификатора.
Происходит подписка здесь
|
this.sync.mod('theme', 'remoteState.theme.emitter:theme.change', {immediate: true}, (theme?: Theme) => |
|
(theme ?? this.remoteState.theme.get()).value); |
Тут нужно уточнить у @kobezzza, по какой причине мы не могли отказать от слушателя, Артем говорил, что подобный вопрос уже поднимался.
Возможные решения
- Использовать глобальный селектор на теге html, для определения текущей темы. Если есть необходимость в модификаторе на отдельном компоненте, то добавить возможность точечной синхронизации темы с локальным модификатор компонента.
- Использовать sharedMods?
Проблема
Если полазить по разным страницам с включенным keepAlive, то в какой-то момент стреляет ошибка Possible memory leak из eventemitter, связано с тем, что мы подписываемся в каждом компоненте на изменение темы для синхронизации модификатора.
Происходит подписка здесь
Client/src/components/super/i-block/state/index.ts
Lines 645 to 646 in c239c64
Тут нужно уточнить у @kobezzza, по какой причине мы не могли отказать от слушателя, Артем говорил, что подобный вопрос уже поднимался.
Возможные решения