如何对多个数组做出反应

时间:2020-03-18 10:46:15

标签: javascript reactjs

我有一个类似于“ SHOW_ALL”的函数,它将返回所有正常工作的值。 “ SHOW_COMPLETED”和“ SHOW_ACTIVE”无法按预期工作。

const getVisibleTodos = (todos, filter) => {
  console.log("todos",todos);
  switch (filter) {
    case SHOW_ALL:
      return todos;
    case SHOW_COMPLETED:
      return todos.rowData.filter(item => item.status === 'Completed');
    case SHOW_ACTIVE:
      return todos.rowData.filter(item => item.status === 'Active');
    default:
      throw new Error("Unknown filter: " + filter);
  }
};

待办事项的价值如下

const todos =  {
            columnDefs: [
                {headerName:"Todos",field:"todos"},
                {headerName:"Status",field:"status"}

              ],
              rowData: [
                {
                    id: 0,
                    todos: 'Walk the Dog',
                    status: 'Completed',
                },
                {
                    id:1,
                    todos: 'learn Redux',
                    status: 'Active'
                }
              ]
            }

我在做什么错?

1 个答案:

答案 0 :(得分:2)

返回此值(当然也返回Active):
{ ...todos, rowData: todos.rowData.filter(item => item.status === 'Completed')}


您忘了返回todos对象的其余部分,即columnDefs属性。