收藏房源(二)——实现收藏-判断是否登录 & 未登录跳转登录页 & 已登录进行收藏操作

收藏房源(二)——实现收藏-判断是否登录 & 未登录跳转登录页 & 已登录进行收藏操作

  • 房源详情页面点击收藏按钮进行收藏
    • 给收藏按钮绑定单击事件,创建方法 handleFavorite 作为事件处理程序。
    • 判断是否登录。
    • 如果未登录,则使用 Modal.alert 提示用户是否去登录。
    • 如果点击取消,则不做任何操作。
    • 如果点击去登录,就跳转到登录页面
    • 根据 isFavorite 判断,当前房源是否收藏
    • 如果未收藏,就调用添加收藏接口,添加收藏。
    • 如果已收藏,就调用删除收藏接口,删除收藏。
handleFavorite = async () => {
  // 实现收藏操作:判断是否登录,如果没有登录就跳转到登录页面
  let isAuth = getToken()
  if (!isAuth) {
    alert('提示', '登录后才能收藏房源,是否去登录?', [
      { text: '取消' },
      {
        text: '去登录',
        onPress: () => {
          // 跳转到登录页面
          this.props.history.push('/login')
        }
      }
    ])
  }
  // 如果已经登录,就进行收藏操作
  // 如果之前已经收藏那么,就取消收藏;反之就进行收藏
  let { isFavorite, houseInfo } = this.state
  if (isFavorite) {
    // 已收藏,需要取消收藏
    let res = await API.delete('/user/favorites/' + houseInfo.houseCode)
    // 取消成功
    this.setState({
      isFavorite: false
    })
  } else {
    // 未收藏,需要进行收藏
    let res = await API.post('/user/favorites/' + houseInfo.houseCode)
    if(res.data.status === 200) {
      // 收藏成功
      this.setState({
        isFavorite: true
      })
    }
  }
}

取消收藏

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值