2016-08-18 9 views
2

Я имею в виду это solution об удалении нежелательного идентификатора из состояния редукции. Мое состояние настроено несколько иначе, и я не уверен, как использовать lodash для его фильтрации.Удаление объекта в состоянии Redux с идентификатором в Lodash/Javascript

Мой массив:

[ 
    {id:1, animal:fish, name:bob}, 
    {id:2, animal:dig,name:jim}, 
    {id:3,animal:cat, name:Tk} 
] 

Это мой обижая код (я передаю идентификатор как action.payload):

const INITIAL_STATE = { animals:[]}; 

export default function(state = INITIAL_STATE, action) { 
    switch (action.type) { 
    case DELETE_ANIMAL: 
     let animalId = action.data; 
     return {...state, animals: [...state.filter(c => c.id !== animalId)]; 
    } 
    return state; 
} 

ответ

2

Я не думаю, что вам нужно использовать lodash для этого. Просто отфильтруйте массив животных:

case DELETE_ANIMAL: 
     let animalId = action.data; 
     return {...state, animals: state.animals.filter(c => c.id !== animalId)}