2016-12-01 6 views
1

Я попытался создать listView так:dataSource.rowIdentities неопределенные не является объектом React-Native

var output = []; 
for(var i = 0; i < response.length; i++) { 
    output.push(this.catBox(i, response[i])); 
} 
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); 
self.state = { 
    dataSource: ds.cloneWithRows(output) 
}; 

catBox(index, info) { 
    let catName = info.catName; 
    let icon = info.icon; 
    return (
     <View style={{flex:1}} key={index}> 
      <View style={styles.stretch}> 
       <Image style={styles.stretchRight} source={require('./img/stretch-right.png')} /> 
       <Image style={styles.stretchLeft} source={require('./img/stretch-left.png')} /> 
      </View> 
     </View> 
    ); 
} 

Но я получил ошибку:

dataSource.rowIdentities undefined is not an object

Что здесь проблема?

Это мой listView код:

<ListView 
    dataSource={this.state.dataSource} 
    renderRow={(rowData) => <View style={styles.catsList}>{rowData}</View>} 
    contentContainerStyle={styles.catsArea}> 
    {cats} 
</ListView> 
+0

renderRow предположим, что нужно вернуть вид. Попробуйте renderRow = {(rowData) => return <Показать стиль = {styles.catsList}> {rowData}} – Vkrm

ответ

1

Должно быть как <ListView ... />. Нет детей в гнездо.

<ListView 
    dataSource={this.state.dataSource} 
    renderRow={(rowData) => <View style={styles.catsList}>{rowData}</View>} 
    contentContainerStyle={styles.catsArea} 
/> 

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

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