我这样做:
_onPress(data) {
Actions.shopProducts(data);
}
...
renderRow(rowData){
return (
<Button onPress={this._onPress.bind(this)}>
<View style={styles.row}>
<View style={styles.listViewContainer}>
<Image
source={{uri: rowData.image}}
/>
<View style={styles.rightContainer}>
<Text style={styles.smallText}>Name: {rowData.name}</Text>
<Text style={styles.smallText}>Straße: {rowData.address}</Text>
<Text style={styles.smallText}>Ort: {rowData.location}</Text>
</View>
</View>
</View>
</Button>
);
}
...
我收到了以下错误:
可能未处理的Promise拒绝(id:0):undefined不是 对象(评估&#39; this._onPress.bind&#39;)renderRow @ ...
我实际上正在使用react-native-router-flux和react-native-button。
导致此错误的原因是什么?我无法理解这一点......
祝你好运
编辑: 现在我想知道如何将rowData推送到我的Button函数......任何想法?
答案 0 :(得分:1)
不要忘记'绑定'renderRow
本身,例如:
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderRow.bind(this)}
...
/>
要将数据传递给_onPress
方法,请执行以下操作:
<Button onPress={this._onPress.bind(this, rowData)}>