Reactjs 必须轻触FlatList两次才能激活行内的TouchableOpacity
我对以下代码有问题。似乎我必须点击平面视图两次才能让它选择行。第一次移除键盘,第二次实际激活TouchableOpacity。有人知道问题出在哪里吗,谢谢Reactjs 必须轻触FlatList两次才能激活行内的TouchableOpacity,reactjs,react-native,Reactjs,React Native,我对以下代码有问题。似乎我必须点击平面视图两次才能让它选择行。第一次移除键盘,第二次实际激活TouchableOpacity。有人知道问题出在哪里吗,谢谢 render() { const { navigate } = this.props.navigation; console.log("Rendering"); if(this.state.inputText != ""){ var contactListView = <View style
render() {
const { navigate } = this.props.navigation;
console.log("Rendering");
if(this.state.inputText != ""){
var contactListView = <View style={styles.contactListWrapper}>
<FlatList
data = {this.state.dataContactList}
renderItem={({item}) => <TouchableOpacity onPress={() => this.pressRowContact( item )} >
<View style={styles.contactRow}>
<View style={styles.standardProfilePicWrapper}>
<Image source={require('../../images/demo/Profile/sample2.jpg')} style={{width: 30, height: 30}}/>
</View>
<Text>Someone Name Here</Text>
</View>
</TouchableOpacity>}
/>
</View>
}else {
var contactListView;
}
var selectedUsers = this.state.arrayContactsSelected.map(function(item) {
return (
<TouchableOpacity style={styles.addedContactNameWrapper} onPress={() => this.onAddedContactPress("")} key={item.userID} >
<Text style={styles.contactSelectedName} >Oliver Rice</Text>
</TouchableOpacity>
);
});
return (
<KeyboardAvoidingView behavior="padding" style={{flex: 1}}>
<View style={{flex: 1}}>
<StatusBar hidden={true} />
<View style={styles.headerBar}>
<NavBar navigation={this.props.navigation} goBack={this.goBack} title="NEW MESSAGE" backButton={true} />
</View>
<View style={styles.contentWrapper}>
<View style={styles.addContactWrapper} >
<View style={styles.addContactLeft} >
<Text style={styles.contactTo}>To:</Text>
</View>
<View style={styles.addContactRight} >
{selectedUsers}
<View style={styles.addedContactInputWrapper} >
<TextInput
style={styles.addContactInput}
onChangeText={this.onChangeTextHandler}
value={this.state.inputText}
/>
</View>
</View>
</View>
<View style={styles.mainContentWrapper} >
{contactListView}
<TextInput
style={styles.inputTextMainMessage}
/>
</View>
</View>
</View>
</KeyboardAvoidingView>
);
}
pressRowContact( rowSelected ){
var found = false;
for(var i = 0; i < this.state.arrayContactsSelected.length; i++) {
if (this.state.arrayContactsSelected[i].userID == rowSelected.userID) {
found = true;
break;
}
}
if(found == false){
var arrayContacts = this.state.arrayContactsSelected.slice()
arrayContacts.push(rowSelected)
console.log(arrayContacts)
this.setState({
inputText: "",
arrayContactsSelected: arrayContacts
});
}else {
this.setState({
inputText: "",
});
}
}
render(){
const{navigate}=this.props.navigation;
控制台日志(“呈现”);
如果(this.state.inputText!=“”){
var contactListView=
点击此按钮。按RowContact(项目)}>
这里有人叫什么名字
}
/>
}否则{
var-contactListView;
}
var selectedUsers=this.state.arrayContactsSelected.map(函数(项){
返回(
this.onAddedContactPress(“”)键={item.userID}>
奥利弗·赖斯
);
});
返回(
致:
{selectedUsers}
{contactListView}
);
}
按RowContact(已选择RowContact){
var=false;
对于(var i=0;i
我们也遇到了同样的问题。你知道为什么会这样吗?我们也遇到了同样的问题。你知道为什么会这样吗?任何帮助都将不胜感激。