安全地访问Immutable.js结构中的嵌套值

时间:2016-02-19 23:17:43

标签: javascript immutable.js

我正在考虑在现有的React项目中引入Immutable JS。该项目充斥着深层嵌套的引用,包含selectn实用程序。

例如:

// returns order.id or undefined if product or order or id are undefined
if(selectn('product.order.id',this.state)) {
  //...
}

是否有一个不可变的JS API方法来检查深层嵌套的结构,并返回请求的属性或未定义?

1 个答案:

答案 0 :(得分:3)

这是一个例子。

var t = Immutable.fromJS({a: { aa: { aaa: 'thing' } } });

我想要a.aa.aaa

t.getIn(['a','aa','aaa']);
// returns "thing"

如果我尝试获取a.aa.bbb该怎么办?

t.getIn(['a', 'aa', 'bbb']);
// Returns undefined.

以下是getIn()getIn() API的API。