2016-07-20 13 views
0

Hallo Ich habe diese Lisview und auf dem renderRow Ich habe diese Anweisung return:Onpress wird automatisch gestartet

<TouchableHighlight onPress={this._onPressWidget(rowData)}> 
     <View> 
     <View style={style}> 
      <Text style={styles.text}> 
       {rowData} 
      </Text> 
     </View> 
    </View> 
</TouchableHighlight> 

Die Sache ist die, dass die onPress Funktion automatisch ohne Drücken der Taste gestartet wird. Kann mir jemand sagen, warum ist das so? Ich mache das mit Reaktion native

Vielen Dank im Voraus!

Antwort

2

Sie rufen die _onPressWidget während des Renderns auf. Sie müssen eine Callback-Funktion übergeben, die sie aufruft, sobald der Callback ausgeführt wird.

<TouchableHighlight onPress={() => this._onPressWidget(rowData)}> 
+0

Oh vielen Dank! : D – LuisPinto

0

ernsthaft sparen meine stunden !! vielen Dank. sollte ich die Tipps hier teilen:

let returnView = this.props.item.map((v,i) => { 


    return <TouchableHighlight onPress={() => this._fireEventToParent(v.id)}> 
      <View style={ListItemStyles.liPiece}> 
        <Image style={[ListItemStyles.liPieceImage} source={{uri: v.itemImage }} /> 
        <Text style={ListItemStyles.liPieceTxt}>{v.itemName}</Text> 
      </View> 
     </TouchableHighlight>; 

}); 

nur Karte kann hier arbeiten, habe ich versucht forEach, kann nicht funktionieren.

Verwandte Themen