Redux reducer用于从数组中插入/删除元素和替换数组

时间:2020-01-10 13:16:23

标签: javascript arrays redux

我是Redux的新手,我对为

编写reducer的最佳实践有疑问
  1. 在数组中插入/删除元素;和
  2. 用另一个数组替换数组本身

这是我目前拥有的:

const arrayReducer = (state = [], action) => {
    switch (action.type) {
        case ADD_ELEM:
            return [...state, action.payload];  // payload expected to be an element
        case REMOVE_ELEM:
            return state.filter(
                elem => (elem.id !== action.payload.id)  // payload also expected to be an element
            );
        case UPDATE_ARRAY:
            return action.payload;  // payload expected to be an array?
        default:
            return state;
    }

我的代码的问题是,如指定的注释所述,action.payload类型的不一致。有没有更好的方法来构造这种减速器?

谢谢大家。

P.s:感谢您的回答。我来自Python / Java背景,因此根据不同的用例采用不同类型的事物对我来说还是很新的。

0 个答案:

没有答案