在 UniApp 開發中,狀態管理是非常重要的一部分,尤其是在復雜的應用場景下。Vuex 是 Vue.js 的官方狀態管理庫,可以幫助開發者集中管理應用的狀態數據。UniApp 作為基于 Vue.js 的跨平臺開發框架,也支持使用 Vuex 進行狀態管理。
以下是關于 Vuex 在 UniApp 中的詳細用法介紹,包括每個核心概念(State、Getters、Mutations、Actions 和 Modules)的詳細說明和代碼示例。
1. Vuex 核心概念
Vuex 的核心概念包括以下五個部分:
- State:存儲全局狀態。
- Getters:從 State 中派生出一些計算屬性。
- Mutations:唯一可以修改 State 的方法,必須是同步操作。
- Actions:用于處理異步邏輯,并通過提交 Mutations 來修改 State。
- Modules:將 Store 模塊化,便于管理和維護。
2. 安裝與初始化 Vuex
安裝 Vuex
首先,在項目中安裝 Vuex:
npm install vuex --save
初始化 Store
在 src
目錄下創建一個 store
文件夾,并在其中創建 index.js
文件。
store/index.js
import Vue from 'vue';
import Vuex from 'vuex';Vue.use(Vuex);export default new Vuex.Store({state: {count: 0, // 全局計數器userInfo: null, // 用戶信息},mutations: {increment(state) {state.count++;},setUserInfo(state, userInfo) {state.userInfo = userInfo;},},actions: {increment({ commit }) {commit('increment');},fetchUserInfo(