收藏房源(一)——根据状态码status判断当前房源是否已经收藏过
是否已收藏判断
- 进入HouseDetail 检查房源是否收藏过
- 在 state 中添加状态:isFavorite (表示是否收藏) ,默认值为 false。
- 创建方法 checkFavorite,在进入房源详情页面时调用该方法。
- 先判断是否已经登录。
- 如果未登录,直接 return,不再检查是否收藏。
- 如果已登录,从路由参数中,获取到当前房屋id。
- 使用 API 调用接口,查询该房源是否收藏。
- 如果返回状态码为 200 ,就更新 isFavorite;否则,不做任何处理。
- 在页面结构中,通过状态 isFavorite 修改收藏按钮的文字和图片内容
// 检查房源是否收藏
checkHouseFavorite = async () => {
// 判断当前房源是否已经收藏过
// 获取当前房源编号
let houseCode = this.state.houseInfo.houseCode
let res = await API.get('/user/favorites/' + houseCode)
// console.log(res) // 打印res
let { data: {body, status}} = res
if (status === 200) {
this.setState({
isFavorite: body.isFavorite
})
}
}
打印res