您的操作已將上下文和負載參數合并為一個參數,而不是將它們分開: addItem({ commit }, payload) { ✅ // Correct addItem({ commit, payload }) { ❌ // Incorrect 另一個問題是模塊的state是一個數組而不是一個對象,并且被直接使用,就好像它是一個狀態項一樣。將state設為對象,并將項數據放入數組屬性中: state: { items: [ { id: "1", name: "1" }, { id: "2", name: "2" }, { id: "3", name: "3" } ]} 更改您的計算機以使用此items屬性: const ItemsState = computed(() => store.state.a.items); 在變異中,推送新值(之前的值根本不會更改state,因為它只會更改函數參數引用): SET_NEW_ITEM(state, payload) { state.items.push(payload);} 你不需要一個動作來稱之為: function addItem() { let newItem = { id: "5", name: "5" }; store.commit('a/SET_NEW_ITEM', newItem)} 這是你的更新