你好,我有这个Lisview,在renderRow上我有这个返回语句:
<TouchableHighlight onPress={this._onPressWidget(rowData)}>
<View>
<View style={style}>
<Text style={styles.text}>
{rowData}
</Text>
</View>
</View>
</TouchableHighlight>问题是,onPress功能无需按下按钮即可自动启动。有人能告诉我这是为什么吗?我正在使用原生react来做这件事
提前谢谢你!
发布于 2016-07-20 18:21:34
您将在渲染过程中调用_onPressWidget。您需要做的是传递一个回调函数,该函数在回调执行后调用它。
<TouchableHighlight onPress={() => this._onPressWidget(rowData)}>发布于 2017-05-25 11:08:04
真的节省我的时间!!非常感谢。我应该在这里分享这些技巧:
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,不能工作。
https://stackoverflow.com/questions/38478499
复制相似问题