2016-11-25 2 views
0

Существует OrderedMap immutablejs объект:immutableJS + Реагировать Получить ключ Iterable в то время как отображение

{ 
     "country": { 
      "value": "US", 
      "locked": false, 
      "history": null 
     }, 
     "city": { 
      "value": "NY", 
      "locked": false, 
      "history": [ 
       { 
        "value": "LA", 
        "date": 1447366980 
       }, 
       { 
        "value": "WA", 
        "date": 1447331640 
       } 
      ] 
     }, 

     "event_title": { 
      "value": "some text", 
      "locked": false, 
      "history": null 
     }, 
     "place": { 
      "value":"some text", 
      "locked": false, 
      "history":null 
     } 
} 

нужно сопоставить его Реагировать компоненты:

const fields = res.map(item => <Field name={%KEY_NEED_HERE%} rest={item} handleChange={this.handleChange} />) 

Как получить ключ итерацию и отправить его в имя поля? Somethng как

<Field name={city} rest={item} /> 

плз, помогите

ответ

0

2-й аргумент, передаваемый в преобразователь является ключевым, так что вы можете сделать это:

const fields = res.map((item, key) => <Field name={key} rest={item} handleChange={this.handleChange} />) 
0

Если вы хотите, чтобы конечный результат будет name='NY', тогда вам необходимо сдать его name={item.getIn(['city', 'value']}.

getIn - метод, доступный всем неизменяемым объектам. Проверьте docs для более

Смежные вопросы