vuex輔助函數(shù)mapState mapGetters mapActions mapMutations和module講解

配置問(wèn)題

瀏覽器只支持JavaScript語(yǔ)法,所以我們需要在項(xiàng)目中配置babel,在打包的時(shí)候進(jìn)行轉(zhuǎn)換,否則會(huì)報(bào)錯(cuò);
1.將es6轉(zhuǎn)es5

npm i --save-dev babel-preset-es2015

2.一些es7語(yǔ)法,上面的插件還是沒(méi)法進(jìn)行轉(zhuǎn)化,需要安裝插件object-rest-spread

npm i babel-plugin-transform-object-rest-spread --save-dev

有反應(yīng)說(shuō)打包后體積過(guò)大的,推薦
安裝stage-3:npm install --save-dev babel-preset-stage-3
.babelrc中設(shè)置"presets": ["env","stage-3"],
3.安裝完,在.babelrc文件進(jìn)行配置

{
  "presets": ["es2015"],
  "plugins": ["transform-object-rest-spread"]
}

輔助函數(shù)

1.引入

 import { mapState,  mapGetters,  mapMutations,  mapActions } from 'vuex'

2.使用
輔助函數(shù)其實(shí)是對(duì)vuex中的內(nèi)容再做一次映射,來(lái)減少我們繁瑣的引用,總是this.$store.state.xx去引入變量和dispath等去調(diào)用方法

mapState和mapGetters在computed中引入
mapAction和mapMutation在methods中引入

computed: {
     ...mapState(['count']) /*映射同名的對(duì)象:count */
     ...mapState({
         counter: 'count' /*映射不同名字的對(duì)象:count--->counter */
     })
     ...mapState({
         counter: (state) => state.count /*映射不同名字的對(duì)象:count--->counter */
     })

     ...mapGetters(["fullName",'count'])
 }

 methods:{
     /*將actions,mutations里面的方法映射到對(duì)應(yīng)的methods,以便在組件里面可以直接應(yīng)用*/

//將this.$store.dispatch('ActionsFuncName')直接映射為this.ActionsFuncName()
     ...mapActions(['ActionsFuncName'])
//將this.$store.commit('MutationsFuncName')直接映射為this.MutationsFuncName()
     ...mapMutations(['MutationsFuncName'])
 }

參考文件:
1.如何使用babel進(jìn)行es6文件的編譯
2.如何區(qū)分Babel中的stage-0,stage-1,stage-2以及stage-3(一)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • babel官網(wǎng) babel 介紹 Babel 是一個(gè)通用的多用途 JavaScript 編譯器。通過(guò) Babel ...
    鋒享前端閱讀 1,929評(píng)論 0 10
  • babel官網(wǎng) babel 介紹 Babel 是一個(gè)通用的多用途 JavaScript 編譯器。通過(guò) Babel ...
    不得不愛(ài)XIN閱讀 1,229評(píng)論 0 9
  • Babel 入門指南 ?:warning: 注意:Babel 可以與很多構(gòu)建工具(如 Browserify、Gru...
    靜默虛空閱讀 2,653評(píng)論 0 4
  • ECMAScript 6 簡(jiǎn)介 原文: ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript ...
    huilegezai閱讀 443評(píng)論 0 0
  • 前言 本文主要從webpack4.x入手,會(huì)對(duì)平時(shí)常用的Webpack配置一一講解,各個(gè)功能點(diǎn)都有對(duì)應(yīng)的詳細(xì)例子,...
    BetterChen閱讀 2,036評(píng)論 0 3

友情鏈接更多精彩內(nèi)容