本來你可以直接改寫原本的數組,比如利用這個方法:arr.push(item)。 但在Redux裡面不可以這樣寫,因為會改寫原本數組,違反了immutable的原則。 因此,要這樣寫: arr: [...state.arr, action.newItem]

例子:

import { ADD_ITEM } from '../Actions/UserActions'
const initialUserState = {
  arr: []
}

export default function userState(state = initialUserState, action) {
  console.log(arr);
  switch (action.type) {
    case ADD_ITEM:
      return {
        ...state,
        arr: [...state.arr, action.newItem]
      }

    default:
      return state;
  }
}

另外,你也可以利用concat()方法。

參考資料

  1. How do I add an element to array in reducer of React native redux? - stackoverflow
如果你覺得我的文章對你有幫助的話,希望可以推薦和交流一下。歡迎關注和 Star 本博客或者關注我的 Github