Не могли бы вы объяснить, в чем причина использования функции useStore() в компоненте vue 3 (composition-api)?
Я запутался, потому что прямой импорт магазина тоже работает, например:
<script setup>
import { store } from '@/store';
const foo = computed(() => store.getters['foo']); // works!
</script>
Но часто я вижу, как люди используют useStore() вместо этого:
<script setup>
import { useStore } from 'vuex';
const store = useStore();
const foo = computed(() => store.getters['foo']); // also works well
</script>
Почему? Пока что ощущается просто как лишняя строка кода. Я предполагаю, что я что-то упускаю.
Спасибо
Важное обновление:
Я обнаружил, что useStore() обеспечивает ценность для модульного тестирования. Если вы не используете useStore(), может быть невозможно издеваться над магазином.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Все дело в новейшем экземпляре магазина в API композиции, согласно документам:
Мы говорим о том, как получить хранилище в проектах Vue 2 и Vuex 3. Возможно, у вас уже есть ответ, это очень просто, просто используйте этот $store. Но, мы знаем о Composition API, внутри setup() это не будет ссылка на текущий активный экземпляр Поскольку вызывается setup() до того, как будут разрешены другие параметры компонента.