Государственное управление для слишком большого углового применения - PullRequest
0 голосов
/ 30 мая 2019

Недавно я столкнулся с ситуацией. В нашем приложении я искал решение, но нигде не нашел правильного ответа. Как вы знаете, в нашем приложении более 600+ модулей.Когда пользователь переходит на новые страницы, браузер может заполняться новыми состояниями и его данными.Таким образом, мы планируем очистить все остальные состояния функции при входе в новый модуль.И только поддержание корневого состояния в течение всего приложения.Я хотел бы знать, правильный ли мой подход или нет?если это хорошо, то каков наилучший способ сделать это?

1 Ответ

1 голос
/ 30 мая 2019

Я не понимаю, почему иметь огромное состояние было бы проблемой вообще.

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

Одна вещь, которую вы могли бы сделать с другой стороны, это наблюдать за эффектом, когда вы покидаете текущий модуль и запускаете очистку (сброс в состояние по умолчанию?) Для текущего редуктора.

Обо всех селекторах, если вы используете createSelector, он использует памятку и, следовательно, ссылка не будет изменена для «неиспользуемой» части магазина, он вернет предыдущее значение напрямую.

Почему вы чувствуете необходимость очищения своего штата? Мне любопытно. Если бы это было из-за проблем с производительностью, я бы сказал, что это, вероятно, не имеет к этому никакого отношения.

...