2016-06-09 6 views
1

J'ai un objet complexe avec beaucoup de propriétés imbriquées, et j'ai souvent besoin d'accéder à une valeur spécifique. Plutôt que de répliquer le code pour le faire à chaque fois, j'aimerais utiliser une fonction. Est-il possible d'attacher une méthode à un objet Immutable.js, qui retournerait alors une valeur spécifique de cet objet? Ou dois-je utiliser une fonction distincte (c'est-à-dire func(immObj) plutôt que immObj.get('func')())?Immutable.js - méthode getter personnalisée

+0

Si l'objet est ** immuable **, comment vous attendez-vous à attacher une autre méthode? –

+0

Immutable.fromJS (. { prop: 'propValue', méthode:() => {}, }; Je ne sais pas, peut-être il est évident que quelque chose comme ça ne devrait pas fonctionner mais il semble moi comme un getter personnalisé serait utile, comparé à une fonction qui doit être importée chaque fois que vous voulez extraire cette valeur – anonymousX

Répondre

1

Qu'en est-il de 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

Je me souviens en fait de vérifier le 'Record' mais je suppose que la documentation officielle n'explique pas vraiment ce que il me suffit d'en lire plus à ce sujet et il me semble que cela résout mon problème.Plus que cela, il ressemble à une fonctionnalité très utile qui pourrait être utilisé à la place de générique 'Map's dans de nombreux endroits Merci! – anonymousX

+0

Méfiez-vous si vous décidez de rendre l'enregistrement imbriqué. – hazardous