我正在考虑在现有的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方法来检查深度嵌套的结构,并返回请求的属性或未定义的属性?
最佳答案
这是一个例子。
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。