открыт селект или закрыт — это логика представления, да. её нет смысла хранить где-то вне компонента.
а вот словарь…
я правильно понимаю, для каждого селекта нужен свой компонент, который делает свой запрос на бэк за словарём и хранит этот словарь в своём стейте, да? это точно логика представления?
Кстати, чтобы компонент сделать максимально generic и дать ему возможность принимать стейт из вне (чтобы кешировать в глобальном сторе) можно передавать в пропсах сервис, стейт и колбем onLoaded (если state не передан, то он будет сам хранить всё). И получается компонент будет знать как работать с определённым интерйесом бизнес логики и при этом будет давать тебе возможность перенести стейт глобально. При этом ты можешь написать HOC который будет внедрять нужный тебе сервис и переиспользовать HOС компонент уже в другом месте будет не больно
Короче идея в том, что компоненты должны быть изолированы. И если они написаны правильно, то никогда не будет проблемой переиспользовать их. А если сразу начинать с глобального стора, то проблема начинается сразу же при первом переиспользовании. И при этом логика компонента размазывается по глобальному стору