useStore
import { useStore } from "effector-vue/composition";useStore появился в effector-vue 21.1.0
Подписывается на стор и возвращает его состояние как readonly-ref, поэтому компонент обновляется при изменении стора. Меняйте состояние только через события. Для Vue 3.
useUnit($store) делает то же самое и вдобавок работает с событиями, эффектами и наборами юнитов.
useStore($store, options?)
Формула
useStore($store: Store<State>, options?: ScopeOptions): Readonly<Ref<State>>;Аргументы
$store(Store<State>)options?(Object):{ scope, forceScope }, те же опции скоупа, что уuseUnit
Аргумент options появился в effector-vue 23.3.0
Возвращает
(Readonly<Ref<State>>): неглубокий readonly-ref, его value это само состояние стора
Ref неглубокий с effector-vue 23.3.0. Раньше value был глубоким readonly-прокси над состоянием
Пример
import { createStore, createApi } from "effector";
export const $counter = createStore(0);
export const { incremented, decremented } = createApi($counter, { incremented: (count) => count + 1, decremented: (count) => count - 1,});<script setup lang="ts">import { useStore, useUnit } from "effector-vue/composition";
import { $counter, incremented, decremented } from "./model";
const counter = useStore($counter);const [onIncrement, onDecrement] = useUnit([incremented, decremented]);</script>
<template> <button @click="onDecrement">-</button> <span>{{ counter }}</span> <button @click="onIncrement">+</button></template>Документация на английском языке - самая актуальная, поскольку её пишет и обновляет команда effector. Перевод документации на другие языки осуществляется сообществом по мере наличия сил и желания.
Помните, что переведенные статьи могут быть неактуальными, поэтому для получения наиболее точной и актуальной информации рекомендуем использовать оригинальную англоязычную версию документации.