Как добавить элемент в массив в редукторе React native redux?
Как добавить элементы в мой массив arr[] состояния redux в редукторе? Я делаю это-
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.push([action.newItem])
}
default:
return state
}
}
3 ответа:
два разных варианта добавления элемента в массив без мутации
case ADD_ITEM : return { ...state, arr: [...state.arr, action.newItem] }
или
case ADD_ITEM : return { ...state, arr: state.arr.concat(action.newItem) }
push
не возвращает массив, но длина его ( docs), так что вы делаете замену массива с его длиной, теряя единственную ссылку на него, что у вас было. Попробуйте это: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 } }