lodash中的值方法未按预期工作

时间:2018-06-12 00:01:12

标签: javascript reactjs redux lodash

我正在使用redux构建一个react应用程序。由redux管理的状态是对象的对象。我想迭代状态中的对象并使用map渲染它。所以我使用了来自lodash的_.values来获取一个对象数组(因为我想渲染的对象也是对象的对象)。但是values方法没有返回包含所有对象的数组,而是返回一个长度为1的数组,其中包含整个对象。    这是应用程序组件:

const App = () => {
  const { contacts } = store.getState();
  console.log(_.values(contacts))
  return (
    <div className="App">
      <Sidebar contacts={_.values(contacts)} />
      <Main />
    </div>
  );
};

这是减速器:

import { contacts } from "../static_data";
export default (state = { contacts }, action) => {
    return state;
};

这是_.values(contacts)的console.log的结果:

[{…}]
0
:
{ryg93t2eQ: {…}, rkel52Fhem: {…}, S1-xchK3gX: {…}, HkMg53Khgm: {…}, r1QxqnFhgX: {…}, …}
length
:
1

1 个答案:

答案 0 :(得分:1)

我认为你的问题是包含在reducer中的联系人的对象。我在下面删除了它:

import { contacts } from "../static_data";
export default (state = contacts, action) => {
    return state;
};