Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Почему плохо использовать объект window в качестве менеджера глобального состояния?

Вообще best practice считается использовать фреймворки для написания больших приложений типо react, vue и т. д. При написании возникает потребность в менеджере глобального состояния, где хранятся данные, например, о залогинином пользователе. Для этого используют в react - redux/mobx, vue - vuex/pinia. Но чем плохо использовать window (помимо проблем типизации, хотя можно задекларировать namespace в window и тауже типизировать)?
Чем тот же vuex, redux, mobx, pinia лучше? Обычно сравнивают между собой сами библиотеки менеджеров(размер, скорость и т. д). Про фреймворки все ясно, мол виртуальное dom  дерево и т. д. 
ПрограммированиеFrontend+2
Илья Братских
  ·   · 508
Я очень рад быть частью этой группы и надеюсь...  · 19 дек 2022
Использование window объекта в качестве менеджера глобального состояния может быть проблематичным по нескольким причинам:
  1. Это может привести к конфликтам имен и неожиданному поведению, если несколько частей вашего приложения пытаются получить доступ или изменить одни и те же свойства.
  2. Объект доступен в глобальной области видимости, что означает, что любой код на странице может получить к нему доступ и изменить его. Это может затруднить контроль и управление изменениями состояния, а также может привести к уязвимостям безопасности, если в window объекте хранится конфиденциальная информация.
  3. Объект не предназначен специально для использования в качестве диспетчера состояний, поэтому он может не предоставлять инструменты и функции, необходимые для управления состоянием в больших и сложных приложениях.
С другой стороны, библиотеки управления состоянием, такие как Vuex, Redux, MobX и Pinia, разработаны специально для управления состоянием в приложениях. Они обеспечивают структурированный, организованный способ хранения и управления состоянием и часто включают такие функции, как отладка , автоматическое сохранение состояния и встроенные средства разработки, помогающие разработчикам управлять своими приложениями и отлаживать их.
Кроме того, многие из этих библиотек позволяют структурировать код таким образом, чтобы его было легко понять и поддерживать, и это может помочь повысить общую производительность вашего приложения.
1 эксперт согласен