2017-10-10 20 views
0

Je feuilletait des données et jeté dans unConsole.log Immuable JS

console.log(data) 

qui imprimé

List[1] 

après le forage à quelques reprises, j'ai pu arriver à ce que je voulu mais ne savait pas comment se déconnecter ... donc j'ai

console.log(data.get(0).get('childItems').get(0).get('nestedItems').get(0).get('name')); 

Ceci est extrêmement long. N'y a-t-il pas un moyen de forer avec une syntaxe plus courte?

Répondre

2

Oui. Vous pouvez utiliser la méthode .toJS().

Donc dans votre cas: console.log(data.toJS())

const obj = Immutable.fromJS({ 
 
    name: [ 'a', 'b', 'c' ], 
 
}); 
 
const arr = Immutable.fromJS([ { 
 
    name: [ 'a', 'b', 'c' ], 
 
} ]); 
 

 
console.log(obj.toJS().name); // Should return an array 
 
console.log(arr.toJS().name); // Should return undefined 
 
console.log(arr.toJS()[ 0 ].name); // Should return an array
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.min.js"></script>

+0

C'était. Plus court! Merci. Ill marque comme la réponse dès qu'elle me le permet. – StuffedPoblano

+0

Mais comment puis-je ultimatley juste obtenir «nom»? 'console.log (data.toJS ('nom'))'? – StuffedPoblano

+1

'console.log (data.toJS(). Nom)';) – lumio