我正在使用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
答案 0 :(得分:1)
我认为你的问题是包含在reducer中的联系人的对象。我在下面删除了它:
import { contacts } from "../static_data";
export default (state = contacts, action) => {
return state;
};