Comments 4

Эх, мне было бы приятней видеть еще большее упрощение:


export const counterStore = defineStore({
  count: 0,

  get double() {
    return this.count * 2
  }

  increment() {
    this.count++
  }
})

counterStore.increment()

Выделение в отдельные getters и actions выглядит лишним, тем более, что вызываются они просто от корня стора. Но уже намного лучше, чем в прошлой версии

Не, вот же
export class CounterStore {
  @observable count = 0;

  get double() {
    return this.count * 2;
  }

  increment() {
    this.count++;
  }
}
В Vuex к сожалению до этого ещё не додумались, это есть уже многие годы в MobX'e.

mobx.js.org/README.html

codesandbox.io/s/epic-cdn-71111?file=/src/App.tsx

Его тоже можно с Vue использовать, но обычно его берут в связку с реактом.
Может быть когда ни будь и Vuex дойдет до человеческого описания реактивных свойств объекта в классе с использованием декораторов.
Only those users with full accounts are able to leave comments. Log in, please.