2016-06-09 81 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