如果您不打算開發(fā)大型單頁應用,使用 Vuex可能是繁瑣冗余的。那么我們什么時候該用到Vuex呢?
- 當項目中有多個共享的狀態(tài),便于維護(非父子通信)
- 緩存部分異步數(shù)據(jù),減少后端服務的請求,提高用戶體驗
本文主要圍繞Vue3的setup語法糖寫法展開,有點可惜的是Vue3中使用Vuex已經(jīng)不支持mapState,mapActions等輔助函數(shù)了,所以Vue3中更加推薦Pinia。
<script setup>
import {useStore} from "vuex";
const store = useStore();
// 調用mutation
store.commit("functionName", "payload");
// 如果有命名空間,則需要通過 命名空間/mutations的方法名
store.commit("spaceName/functionName", "payload");
// 調用action
store.dispatch("functionName", "payload");
// 如果有命名空間,則需要通過 命名空間/actions的方法名
store.dispatch("spaceName/functionName", "payload");
</script>