#react-native #post #event-handling #react-native-flatlist #onpress
#реагировать-родной #Публикация #обработка событий #react-native-плоский список #onpress #react-native
Вопрос:
Я пытаюсь передать две вещи в свои функции on press. Первая часть устанавливает состояние в идентификатор элемента, на который был сделан щелчок, что, в свою очередь, мне понадобится для второй функции (POST-запроса).Установленное состояние выполнено успешно, но запрос POST даже не был выполнен. Мне нужно сохранить часть setState внутри onPress, потому что это единственное место, где у меня есть доступ к элементу, на который нажимается. Есть идеи, почему не запускается вторая функция? Есть обходные пути? Я относительно новичок в react native, поэтому любые идеи будут очень полезны. Спасибо!
handlePress=()=> {
debugger
fetch('http://localhost:3000/user_resources', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json'
},
body: JSON.stringify({
resource_id: this.state.eventId,
user_id: this.props.users.id
})
})
.then(res => res.json())
.then(data2 => {
this.props.addUserResource(data2)
})
}
header = () => {
return <Text style={styles.header}>Hello, {this.props.users.name}</Text>
}
render(){
console.log(this.state)
return(
<>
<Button title="Add A New Resource" onPress={() => this.props.navigation.navigate('Add A New Resource',{topicId:this.props.route.params.topicId})} style={styles.listitem} />
<FlatList style={styles.flatlist} keyExtractor={(item)=> item.id.toString()} data={anoda} ItemSeparatorComponent = { this.FlatListItemSeparator } renderItem={({item}) => {
return <TouchableOpacity><Text onPress={() => this.props.navigation.navigate('Add A New Resource',{topicId:item.id})} style={styles.listitem}>{item.name}</Text><Button title="worku?" onPress={()=> {this.setState({eventId:item.id})}}/></TouchableOpacity>
}
}
ListHeaderComponent = {this.header}/>
</>)
}
}
Комментарии:
1. Эй, я не нашел никакого кода, к которому вы обращаетесь
this.handlePress
. На обоихonPress
вы переходите к новому экрану.2. @praveen-me привет, в строке, где есть осязаемая непрозрачность, ближе к концу есть еще одна кнопка, вот где у меня проблема