【发布时间】:2019-10-23 13:09:21
【问题描述】:
我在导航中发送用户 ID,但我无法在详细信息页面上获取 ID 这是我的代码...
<FlatList
style={{ paddingLeft: 5 }}
data={this.state.TopRatedData}
ListEmptyComponent={this._listEmptyComponent}
keyExtractor={(x, i) => i.toString()}
renderItem={({ item }) =>
<TouchableOpacity
activeOpacity={0.9}
onPress = { () => this.props.navigation.navigate("DetailDoctorscreen", {doc_id: item.ID})
}>
<TopRatedCard
profileImage={{ uri: `${item.image}` }}
specialities={`${entities.decode(item.specialities.name)}`}
name={`${entities.decode(item.name)}`}
sub_heading={`${entities.decode(item.sub_heading)}`}
total_rating={`${entities.decode(item.total_rating)}`}
average_rating={`${entities.decode(item.average_rating)}`}
/>
</TouchableOpacity>
在上面的代码中,我发送doc_id,但我无法在DetailDoctorscreen 上获取它。这是代码...
fetchDoctorDetail = async () => {
const { params } = this.props.navigation.state;
console.log(this.props.navigation.state.doc_id);
const response = await fetch(
CONSTANT.BaseUrl +
"listing/get_doctor?profile_id=" + this.props.navigation.state.doc_id
);
const json = await response.json();
Alert.alert(CONSTANT.BaseUrl +
"listing/get_doctor?profile_id=" + this.props.navigation.state.doc_id);
this.setState({ fetchDoctor: json });
};
使用getParams之后...
fetchDoctorDetail = async () => {
const { params } = this.props.navigation.state;
console.log(this.props.navigation.state.doc_id);
const response = await fetch(
CONSTANT.BaseUrl +
"listing/get_doctor?profile_id=" + this.props.navigation.getParam('doc_id')
);
const json = await response.json();
Alert.alert(CONSTANT.BaseUrl +
"listing/get_doctor?profile_id=" + this.props.navigation.getParam('doc_id'));
this.setState({ fetchDoctor: json });
};
【问题讨论】:
标签: reactjs react-native react-native-flatlist