[英]use `mapActions` or `mapGetters` with Vuex 4 and Vue 3
[英]What is the exact purpose of using mapActions in vue js?
当我学习 Vue js 时,我在代码的许多部分使用mapState
来更新渲染中的更改,每当商店层发生更改时。 最近,我也了解了mapActions
中的 mapActions。 但在我搜索的大多数示例中,我只使用查看 mapState。 那么,什么是 mapAction,它的确切用途是什么?
在 Vuex 中, actions
(通常)是执行突变的异步操作,而不是直接更新到 state。 mapActions
只是一个帮助器,可让您从 Vue 组件中调用这些方法。 你可以在这里找到更多信息: https://vuex.vuejs.org/guide/actions.html
在组件中,你可以通过this.$store.dispatch
来 dispatch action,或者使用mapActions
将 action 绑定到组件的方法上。
通常,动作可能属于一个namespace
,而mapActions
在这种情况下可以很好地工作。
// use $store.dispatch
methods: {
addTodo() {
this.$store.dispatch('xxx/yyy/zzz/addTodo');
},
removeTodo() {
this.$store.dispatch('xxx/yyy/zzz/removeTodo');
},
},
// use mapActions
methods: {
...mapActions('xxx/yyy/zzz', ['addTodo', 'removeTodo']),
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.