Если ты не используешь SSR, то тебе достаточно просто
reactive
/
ref
объекта, чтоб получить эрзац-стор, тупо:
// где-нибудь
export const basket = reactive([]); // или ref([]) по вкусу.
// везде где надо
import { basket } from './...'
Реактивность будет прекрасно работать.
Почему кто-то использует специальные
store
если можно делать так? Потому что сторы учитывают работу в режиме SSR, а также позволяют удобную отладку в случае множества запутанных связей.
Вам я бы тоже рекомендовал использовать таки
store
- только
pinia
, а не
vuex
. Не вижу причин его не использовать.
По поводу
EventBus
: с одной стороны новичку её использовать категорически не рекомендуется, т.к. работа со
store
куда удобнее, очевиднее и надёжнее. Однако и совсем отрицать её использование тоже не следует, шина отлично подходит для случаев когда мы имеем дело именно с
событиями, а не
изменением состояния. Т.е. послать какой-нить notification или лог - самое оно, использовать для изменения
basket
, как в вашем случае - нет.