2017-02-14 6 views
0

я учусь Реагировать Native для прошивкия не могу получить информацию от объекта внутри объекта в React Native IOS

Моей проблемы в том, что я не могу получить информацию внутри объекта, является звеном картины.

Код внутри renderRow для ListView Реагировать Native

renderRow(rowData, sectionID, rowID) { 
console.log(rowData.media.imagenes[0].imagenLink) 

С этим кодом, показывает, как это.

Picture of console.log(rowData.media)

Если я пишу такой код, который якобы работает

console.log(rowData.media.imagenes[0].imagenLink) 

Затем он показывает ошибку.

Error from Simulator

Если я пишу код вне renderRow(), она работает.

console.log(this.state.datosJSON[0].media.imagenes[0].imagenLink) 

Тогда я могу получить ссылку на изображение.

Я надеюсь, что кто-то может мне помочь.

С уважением и спасибо за ваше время

+0

Вы можете делиться 'dataSource' в listView. –

+0

Несомненно, это 'конструктор (реквизит) { супер (реквизит); ds = new ListView.DataSource ({rowHasChanged: (r1, r2) => r1! == r2}) this.state = { dataSource: ds.cloneWithRows (['row 1']), datosJSON: ' ' }; } ' – edgars

+0

Я мог бы исправить это, если я что-то использую console.log, он дает мне ошибку, но если я использую {{uri}}, он работает, я не знаю, почему – edgars

ответ

0

На самом деле я не знаю, как вы это делаете именно .Но renderRow метод используется как following.First всего вы должны определить dataSource в состоянии.

getInitialState: function() { 
    var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); 
    return { 
     dataSource: ds.cloneWithRows(['row 1', 'row 2']), 
    }; 
    }, 

После этого вы должны использовать ListView через render метод.

render: function() { 
    return (
     <View> 
     <ListView 
      dataSource={this.state.dataSource} 
      renderRow={this._renderRow} 
     /> 
     </View> 
    ); 
    }, 

После того, что вы сделали это, вы можете вставить в код renderRow метода.

renderRow(rowData, sectionID, rowID) { 
console.log(rowData.media.imagenes[0].imagenLink); 
} 

Я думаю, что если вы сделаете это, код будет работать правильно.

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

  • Нет связанных вопросов^_^