你好我有这个Lisview,在renderRow上我有这个return语句:
<TouchableHighlight onPress={this._onPressWidget(rowData)}>
<View>
<View style={style}>
<Text style={styles.text}>
{rowData}
</Text>
</View>
</View>
</TouchableHighlight>
问题是onPress功能无需按下按钮即可自动启动。谁能告诉我为什么会这样?我用反应原生
来做这件事提前谢谢!
答案 0 :(得分:2)
您在渲染过程中调用_onPressWidget
。你需要做的是在回调执行后传递一个调用它的回调函数。
<TouchableHighlight onPress={() => this._onPressWidget(rowData)}>
答案 1 :(得分:0)
认真地节省我的时间!!多谢。 我应该在这里分享一些提示:
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>;
});
只有地图可以在这里工作,我试过forEach,无法工作。