object - 在 Lodash/Javascript 中删除带有 ID 的 Redux 状态对象

标签 object redux state store lodash

我指的是这个solution从 redux 状态中删除不需要的 ID。我的状态设置略有不同,我不确定如何使用 lodash 来过滤它。

我的数组:

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

这是我的违规代码(我将 ID 作为 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;
}

最佳答案

我认为您不需要为此使用 lodash。只需过滤动物数组即可:

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

关于object - 在 Lodash/Javascript 中删除带有 ID 的 Redux 状态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39011760/

相关文章:

城市/州的 MySQL 数据库设计

java - 在 Java 中高效地循环访问具有多个变量类型的对象数组

objective-c - 如何访问成员对象

iOS游戏上下移动物体

javascript - React Redux,在获取数据并将其映射到组件后重新渲染?

reactjs - 在客户端和服务器端渲染不同的组件

haskell - 在 StateT 中组合多个状态

javascript - 在 Javascript 中,所有内置对象都是不可变的吗?

reactjs - 如何使用 enzyme 通过 onClick 测试 redux Action

flutter - 在构建期间调用setState()或markNeedsBuild()-Flutter