【发布时间】:2018-06-12 00:01:11
【问题描述】:
我正在使用 redux 构建一个反应应用程序。 redux 管理的 state 是 objects 的一个对象。我想从状态中遍历一个对象并使用 map 渲染它。所以我使用 _.values 从 lodash 获取对象数组(因为我要渲染的对象也是对象的对象)。但是 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
【问题讨论】:
-
console.log(contacts)显示什么? -
@Barmar 它在问题老兄中,它显示了一个长度为 1 的数组,包含我要渲染的对象的一个对象。
-
那是
console.log(_.values(contacts)),不是console.log(contacts)。 -
您可能想要
_.values(contacts.someProperty),属性名称将显示在console.log(contacts)中 -
@Barmar aaa 抱歉,是的,它是对象的对象!
标签: javascript reactjs redux lodash