# #firebase #react-native #google-cloud-firestore
Вопрос:
Ошибка, с которой я сталкиваюсь, — «Возможное отклонение необработанного обещания (id: 37)«.
class AgentDashBoard extends React.Component{
state={
Couriers: [],
ids:[],
Courier_Location: "",
Courier_Status: ""
}
constructor(props){
super(props);
this.subscriber=
firestore()
.collection("Couriers")
.onSnapshot(docs =>{
let Couriers=[]
let ids=[]
docs.forEach(doc=>{
Couriers.push(doc.data())
ids.push(doc.id)
})
this.setState({Couriers})
this.setState({ids})
})
}
updateshipment= (trackid)=> {
firestore()
.collection("Couriers")
.doc(this.state.ids[trackid])
.update({CurrentLocation: this.state.Courier_Location, CurrentStatus: this.state.Courier_Status})
}
render(){
return(
<ScrollView style={{...}}>
<Text style={{...}}> Couriers for Delivery </Text>
{this.state.Couriers.map((Courier, index) =>
<View
key={index}
style={{...}}
>
<View style={{...}}>
<TextInput
style={{...}}
onChangeText={text=>this.setState({ Courier_Location: text})}
placeholder="Current Location">
{Courier.CurrentLocation}
</TextInput>
<TextInput
style={{...}}
onChangeText={text=>this.setState({Courier_Status: text})}
placeholder="Current Status">
{Courier.CurrentStatus}
</TextInput>
<Icon
name="check"
size={25}
style={{...}}
onPress= {(index)=>
this.updateshipment(index)
}
/>
</View>
</View> )}
</ScrollView>
);
}
}
export default AgentDashBoard
Есть ли способ отобразить CurrentLocation
и CurrentStatus
в 2 textinputs, как я пытался сделать, а затем отредактировать это местоположение и статус только для одного экземпляра в той же функции onPress.
ids[index]
Возвращает идентификатор документа правильно, но я не могу его использовать, что я могу сделать?
Комментарии:
1. Не могли бы вы сделать скриншот любой ошибки, которую вы получаете ?
2. @Dharmaraj Я добавил скриншот