如何在 TouchableHighlight 的 onPress 中获取发件人
how to get sender in TouchableHighlight's onPress
我有一个视图列表,每个视图都由 TouchableHighlight 包裹,我为每个 Touchable 绑定一个 onPress 处理程序
....
<TouchableHighlight onPress={this._preformTouchItem}>
<View style={styles.item}>
<Text>{displayContent}</Text>
</View>
</TouchableHighlight>
....
_preformTouchItem(event) {
}
我在 Chrome Dev Tools 中调试它,'event' 没有绑定 'sender' 对象,
如何知道点击了哪个View
在 React 中,您通常不会直接与视图交互,而是调用 setState
并让 React 为您重新呈现 UI。例如,您将传递项目的索引:
getInitialState: function() {
var itemToggleStates = [false, false, false];
return itemToggleStates;
},
render: function() {
for (i = 0; i < itemToggleStates.length; i++) {
...
var currentIndex = i;
var itemText = this.state.itemToggleStates[currentIndex] ? 'yes' : 'no';
<TouchableHighlight onPress={() => this._handleItemTouch(currentIndex)}>
<Text>{itemText}</Text>
</TouchableHighlight>
...
}
...
},
_handleItemTouch: function(index) {
var itemToggleStates = this.state.itemToggleStates;
itemToggleStates[index] = !itemToggleStates[index];
setState(itemToggleStates);
}
在极少数情况下,当您确实需要访问底层视图时,有一个名为 refs
的概念。
我有一个视图列表,每个视图都由 TouchableHighlight 包裹,我为每个 Touchable 绑定一个 onPress 处理程序
....
<TouchableHighlight onPress={this._preformTouchItem}>
<View style={styles.item}>
<Text>{displayContent}</Text>
</View>
</TouchableHighlight>
....
_preformTouchItem(event) {
}
我在 Chrome Dev Tools 中调试它,'event' 没有绑定 'sender' 对象, 如何知道点击了哪个View
在 React 中,您通常不会直接与视图交互,而是调用 setState
并让 React 为您重新呈现 UI。例如,您将传递项目的索引:
getInitialState: function() {
var itemToggleStates = [false, false, false];
return itemToggleStates;
},
render: function() {
for (i = 0; i < itemToggleStates.length; i++) {
...
var currentIndex = i;
var itemText = this.state.itemToggleStates[currentIndex] ? 'yes' : 'no';
<TouchableHighlight onPress={() => this._handleItemTouch(currentIndex)}>
<Text>{itemText}</Text>
</TouchableHighlight>
...
}
...
},
_handleItemTouch: function(index) {
var itemToggleStates = this.state.itemToggleStates;
itemToggleStates[index] = !itemToggleStates[index];
setState(itemToggleStates);
}
在极少数情况下,当您确实需要访问底层视图时,有一个名为 refs
的概念。