[Vuex] mutations
3964 ワード
mutations
📌 state値を変更するロール
📌 各コンポーネントに同じ機能の関数を生成し、それらを組み合わせると、効率が向上します.
📌 突然変異を各構成部分で発生させる行為をコミットと呼ぶ.
📌 突然変異の基本的な使用方法
// store/index.js
mutations: {
// state 값을 받아와야하기때문에 state 인자로 추가
// 넘겨받은 값을 받을 수 있는 인자값 payload 추가
addUsers: (state, payload) => {
state.allUsers.push(payload)
}
}
// components/xxx.vue
<script>
import { mapMutations } from 'vuex'
export default {
methods: {
...mapMutations(['addUsers']),
signUp() {
// 여기에서 넘겨준 'abc' 가 store/index.js의 payload로 감
this.addUsers('abc')
}
}
</script>
📌 mapMutationを使用せずにコミットすることによって変異を実行する方法// components/xxx.vue
<script>
export default {
methods: {
signUp() {
// commit으로 actions 실행
// mutations 이름 'addUsers' 써줌
// payload로 'abc' 넘겨줌
this.$store.commit('addUsers', 'abc')
}
}
</script>
❗突然変異の問題:突然変異のすべての機能は同期されている.従って,非同期論理はactionsとして用いられる.Reference
この問題について([Vuex] mutations), 我々は、より多くの情報をここで見つけました https://velog.io/@gomdori5505/Vuex-mutationsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol