2016-06-09 51 views
1

我有一个拥有大量嵌套属性的复杂对象,我经常需要访问某些特定的值。我不想每次都复制代码,我想使用一个函数。有没有办法将一个方法附加到一个Immutable.js对象,然后该对象会从该对象返回一个特定的值?还是必须使用单独的功能(即func(immObj)而不是immObj.get('func')())?Immutable.js - 自定义getter方法

+0

如果对象是**不可变**,您如何期望将其他方法附加到它? –

+0

Immutable.fromJS({ 道具: 'propValue', 方法:()=> {}, }; 我不知道,也许很明显,这样的事情不应该工作,但它似乎我喜欢一个自定义的getter的排序将是有用的,相比之下,每次你想提取这个值必须导入的函数。 – anonymousX

回答

1

Record怎么样?

class ABRecord extends Record({a:1,b:2}) { 
    getAB() { 
    return this.a + this.b; 
    } 
} 

var myRecord = new ABRecord({b: 3}) 
myRecord.getAB() // 4 
+0

我实际上记得检查'Record',但我猜官方文档并没有真正解释什么它对我来说已经足够好了,我刚刚读了更多关于它的内容,似乎它解决了我的问题,不仅如此,它看起来像是一个非常有用的功能,可以在许多地方用来代替通用的“Map” 。谢谢! – anonymousX

+0

请注意,如果您决定将记录嵌套。 – hazardous