安全地访问不可变结构中的嵌套值.js

Safely access nested value in Immutable.js structure

本文关键字:嵌套 js 结构 访问 不可变 安全      更新时间:2023-09-26

我正在考虑在现有的React项目中引入不可变的JS。 该项目充斥着深度嵌套的引用,并用selectn实用程序包装。

例如:

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

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

下面是

一个示例。

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。