2016-09-26 1 views
1

Когда я пытаюсь напечатать значение реквизита в Reactjs коды, я получаю следующее:ReactJS получать значение из карты структуры данных

console.log(this.props.rec.get('data')); 

Map 
    __altered: false 
    __hash: undefined 
    __ownerID: undefined 
    _root: ArrayMapNode 
     entries: Array[8] 
      0: Array[2] 
      1: Array[2] 
      2: Array[2] 
      3: Array[2] 
       0: "language" 
       1: "ena" 
      4: Array[2] 
      5: Array[2] 
       0: "owners" 
       1: List 
        length: 2 
        __proto__: Array[0] 
      6: Array[2] 
      7: Array[2] 

      length: 8 
      __proto__: Array[0] 
     ownerID: OwnerID 
     __proto__: Object 
     size: 8 
    __proto__: KeyedIterable 

entries является функцией. Как я могу получить значение «язык» и «владельцев» от этих данных?

Я действительно не понимаю эту структуру, может кто-нибудь, пожалуйста, объясните мне это?

+2

Знаете ли вы, что, кажется, вы используете immutable.js? Проверьте его документы https://facebook.github.io/immutable-js/docs/#/Map – Maxx

+0

вы можете показать нам свою структуру магазина –

+0

@Maxx Спасибо! Ваш ответ - именно то, что мне нужно. Для «владельцев» он возвращает список. Не могли бы вы рассказать мне, как получить эту ценность? – Birish

ответ

1

Знаете ли вы, что, кажется, вы используете immutable.js? Проверьте свои документы https://facebook.github.io/immutable-js/docs/#/Map

Try:

console.log(this.props.rec.get('data').get('language')) 
console.log(this.props.rec.get('data').get('owners').get(0)) 
0

Это похоже на ES2015 Map проблема, и не имеет отношения к реактору.

Я считаю, что записи имеют все пары ключ-значение для Карты.

1

Вы можете использовать .toJS(), чтобы получить более читаемую версию ваших данных. например this.props.rec.get('data').toJS()

Тогда вы могли бы сделать, чтобы получить this.props.rec.get('data').toJS().ownersowners или в качестве альтернативы использовать ImmutableJS синтаксис .getIn() получить информацию вам нужно, например, this.props.rec.getIn('data', 'owners')

+0

Спасибо @Geraint, это было полезно :) – Birish