•
vuex 가 꼭 필요해?
◦
커다란 프로젝트라고 생각하시는 듯하다. 완전 미래까지 대비하고 싶은 것일까?
•
Pinia 는 뭐가 더 좋은데?
◦
아하 api 가 훨씬 더 단순하구나.
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
incrementCountMutation (state, payload) {
state.count += payload
}
},
getters: {
count (state){
return state.count
}
},
actions: {
incrementCount: ({commit}, payload) => {
setTimeout(() => {commit('incrementCountMutation', 100)}, payload)
}
}
})
...
<h1>Count is {{ store.getters.count }}</h1>
JavaScript
복사
export const useCounterStore = defineStore("counter", {
state: () => {
return { count: 0 };
},
getters: {
count: (state) => {
return state.count;
},
},
actions: {
incrementCount(payload) {
this.count += value;
},
},
});
...
<h1>Count is {{ store.count }}</h1>
JavaScript
복사
import { defineStore } from "pinia";
export const useCounterStore = defineStore("counter", {
state: () => {
return { count: 0 };
},
actions: {
increment(value = 1) {
this.count += value;
},
},
getters: {
doubleCount: (state) => {
return state.count * 2;
},
doublePlusOne() {
return this.doubleCount + 1
},
},
});
JavaScript
복사