React Reducer返回带有状态的数组的正确方法

时间:2018-09-06 16:04:08

标签: javascript reactjs redux react-redux

我在动作创建者和redux-promise中间件中使用axios将对象数组返回到组件的render方法中的map函数。在ES6扩展中使用第一个return语句时,我在数组中得到一个数组。我如何正确遍历此数组?我会在化简器中使用map吗?第二个return语句起作用。我不清楚为什么我不想只返回数组。谢谢!

const INITIAL_STATE = [];

export default function (state = INITIAL_STATE, action) {
    switch (action.type) {
        case GET_TICKET:
            return [action.payload.data, ...state];
            return action.payload.data;
        default:
            return state;
    }
}

2 个答案:

答案 0 :(得分:0)

您可以采用这种格式

const INITIAL_STATE = { data : [] };

export default function (state = INITIAL_STATE, action) {
    switch (action.type) {
        case GET_TICKET:
            return {...state, data: action.payload.data};
        default:
            return state;
    }
}

答案 1 :(得分:0)

有两种将两个数组组合为一个的主要方法:

const newArray = [...firstArray, ...secondArray];
// or
const newArray = firstArray.concat(secondArray);

这两种方法均适用于您的情况,例如:

return state.concat(action.payload.data);