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

Safely access nested value in Immutable.js structure

我正在考虑在现有的 React 项目中引入 Immutable JS。该项目散布着深度嵌套的引用,用 selectn 实用程序包装。

例如:

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

是否有 Immutable JS API 方法来检查深层嵌套结构,并且 return 请求的 属性 或未定义?

这是一个例子。

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() 的 API:getIn() API