React Reducer Правильный способ вернуть массив с состоянием - PullRequest
0 голосов
/ 06 сентября 2018

Я использую axios в средстве создания действий и промежуточном программном обеспечении с избыточным обещанием для возврата массива объектов в функцию карты в методе рендеринга моего компонента. При использовании первого оператора возврата с распространением ES6 я получаю массив в массиве. Как бы я правильно перебрать этот массив? Буду ли я использовать карту в редукторе? Второе обратное утверждение работает. Мне неясно, почему я не хочу просто возвращать массив сам по себе. Спасибо !!

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 голосов
/ 06 сентября 2018

Существует два основных способа объединения двух массивов в один:

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

Любой из них будет работать в вашем случае, например:

return state.concat(action.payload.data);
0 голосов
/ 06 сентября 2018

вы можете следовать этому формату

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...