Как стать автором
Обновить

Комментарии 5

Там косяк с этими provide/inject : inject можно вызвать только из setup. Если писать без setup (смысла не несет для меня), то низзя. Кроме того залочили прередачу глобов через Vue.propotype. Фиг с ними, сделал обмен мимо их неудобных тулз. Не люблю тупые ограничения.

Неизвестно с чего вы взяли, что это косяк.. Из документации к Vue 3:

Потому что по умолчанию привязки provide/inject не реактивны. 
Возможно изменить это поведение, передав в provide ref-свойство или 
объект reactive.

См в документе: https://v3.ru.vuejs.org/ru/guide/component-provide-inject.html#%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%80%D0%B5%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E

Про реактивный provide/inject: https://v3.ru.vuejs.org/ru/guide/composition-api-provide-inject.html#provide-inject

Сегодня попробовал Pinia. Ну вполне интересно. Можно и в Composition и Option. Для меня особенно актуально можно несколько сторов.

Все же считаю, что компоненты должны быть ответсвенными только за презентацию и обработку пользовательского ввода. Управление и хранение состояния должно быть делегировано другим сущностям

Для большого количества данных всё же без вьюекса, наверное, сложно обойтись. Просто потому что структура, модульность и соглашение о том, как и что мутировать. Для небольших массивов данных во вью2 я прекрасно обхожусь Vue.observable. Просто держу файлик, из которого экспортирую реактивный объект state и не реактивный mutations, который этот стейт мутирует. Ди сама дока говорит о том, что Vue.observable может использоваться как альтернатива vuex.
It can also be used as a minimal, cross-component state store for simple scenarios
Зарегистрируйтесь на Хабре, чтобы оставить комментарий