Все верно не нужно.
Только список локальных состояний в реальных (вполне возможно моих субъективных) кейсах был крайне мал, и к тому же почти на 100% перекрывался ui китом, где эти состояния и так уже зашиты внутри
Продолжу мысль.
Концепция реакта с one way data flow защищает от многого, но но не тех кто пользуется этим инструментом, а разработчиков этого инструмента. Для тимы реакта - защита, для пользователей реакта - ограничение. Как только реактивное значение\стейт становится необходим в компоненте выше по иерархии или в другой ветке, то необходимо применять контринтуитивный паттерн "поднятия стейта" (можно посчитать сколько раз в этом чате была дана ссылка на этот раздел в доке или тема зашла об этом) и поверьте не только новички испытывают с этим проблемы.
Если говорить предметно, то взять допустим тот же дропдаун. Вдруг возникает кейс где его нужно открыть\закрыть вне реакта и что тогда делать? Ну тут кто на что гаразд - кто стейт поднимает, кто поднимает аж до стейт менеджера😁, а кто и вовсе, заводит еще одно реактивное значение и начинает заниматься синхронизацией. Кейсы, когда локальное состояние вдруг перестает быть локальным - достаточно часты.
Вывод. Было бы круто выносить все в глобал стор, если бы у нас был "идеальный" стейт менеджер.