安全访问 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。
我正在考虑在现有的 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。