如何从redux状态获取嵌套数组值

时间:2017-09-07 05:13:59

标签: javascript redux

此函数返回redux状态

this.context.store.getState()

这是状态

Map {size: 2, _root: ArrayMapNode, __ownerID: undefined, __hash: undefined, __altered: false}

如果我这样做.context.store.getState()[“size”]它将返回2,这是完美的。现在我想从下面检索place_id。我该怎么做?

{_root:
  entries:
    [place_id: 'TRYING TO GET THIS VALUE"

但是如果我执行getState()[“_ root”] [“entries”] [“place_id”]它不起作用(因为它在一个数组中?)

1 个答案:

答案 0 :(得分:2)

Card是一个数组,这意味着它可能包含多个对象。您需要按索引选择对象。例如,如果您要获取第一个地方的ID,您的代码将如下所示:

entries

或者

getState()._root.entries[0].place_id

请注意,如果您尝试访问不存在的对象的属性,您的代码将会中断。因此,您需要在访问该属性之前检查该属性是否存在 - How do I check if an object has a property in JavaScript?