2015-12-23 2 views
2

Вот моя функция рендеринга native. если я ставлю listview, это сработает. если я ставлю touchablehighlight, это сработает. но, если он поместит оба, это не сработает. нужна помощь.Реакция Нативная функция рендеринга вызывает ошибку

render: function() { 
    return (
     /* ListView wraps ScrollView and so takes on its properties. 
     With that in mind you can use the ScrollView's contentContainerStyle prop to style the items.*/ 
     <ListView 
      contentContainerStyle={styles.list} 
      dataSource={this.state.dataSource} 
      renderRow={this._renderRow}/> 
     <TouchableHighlight onPress={() => this._pressRow(rowID)} underlayColor="transparent"> 
     </TouchableHighlight> 
    ); 
}, 

Что здесь не так? необходимо, чтобы оба компонента работали.

ответ

1

У вас нет двух тегов, которые вы можете вернуть. Вы должны обернуть его в тег <View> </View>. Таким образом, вы можете абстрагировать несколько компонентов, которые вам нужны на странице.

render: function() { 
    return (
     /* ListView wraps ScrollView and so takes on its properties. 
     With that in mind you can use the ScrollView's contentContainerStyle prop to style the items.*/ 
     <View> 
     <ListView 
      contentContainerStyle={styles.list} 
      dataSource={this.state.dataSource} 
      renderRow={this._renderRow}/> 
     <TouchableHighlight onPress={() => this._pressRow(rowID)} underlayColor="transparent"> 
     </TouchableHighlight> 
     </View> 
    ); 
}, 

Надеюсь, это поможет.

+1

Если мне нужно пройти реквизиты, могу ли я использовать и просмотр? –

+0

Да, вид - это компонент. Вы можете очень хорошо делать все, что вы делаете, с помощью своего ListView. Я имею в виду, что общее во всех компонентах, отвечающих за реакцию, можно использовать и на . – bozzmob

+0

спасибо. это работает в моем коде. –

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