Государственное управление для слишком большого углового применения
Недавно я столкнулся с ситуацией. В нашем приложении я искал решение, но нигде не нашел правильного ответа. Как вы знаете, в нашем приложении более 600+ модулей. Когда пользователь переходит на новые страницы, браузер может заполняться новыми состояниями и его данными. Таким образом, мы планируем очистить все остальные состояния функции при входе в новый модуль. И только поддержание корневого состояния в течение всего приложения. Я хотел бы знать, правильный ли мой подход или нет? если это хорошо, то каков наилучший способ сделать это?
1 ответ
Я не понимаю, почему иметь огромное государство было бы проблемой вообще.
Это было бы проблемой, если бы вы много писали в нее, потому что, поскольку она неизменна, вам необходимо обновить все ссылки выше в цепочке. Но если вы касаетесь другой части состояния только тогда, когда находитесь в другом модуле, то при обновлении магазина часть, которую вы не изменили, будет повторно использована (для справки), что действительно дешево.
С другой стороны, одна вещь, которую вы могли бы сделать, это наблюдать за эффектом, когда вы покидаете текущий модуль и запускаете очистку (сброс в состояние по умолчанию?) Для текущего редуктора.
О всех селекторах, если вы используете createSelector
он использует памятку и, таким образом, ссылка на "неиспользованную" часть магазина не изменится, он вернет предыдущее значение напрямую.
Почему вы чувствуете, что нужно очистить свое состояние? Мне любопытно. Если бы это было из-за проблем с производительностью, я бы сказал, что это, вероятно, не имеет к этому никакого отношения.