【问题标题】:Why am I getting undefined when I try to fetch ._id?为什么我在尝试获取 ._id 时会变得不确定?
【发布时间】:2022-10-23 22:38:08
【问题描述】:

所以我试图抓住。_ID后存放到买家信息然后扔给手柄点击和 console.log 它,但是当我尝试 console.log 它时,我收到了一个未定义的值。

买家 ID:未定义

   const [buyerInfo, setBuyerInfo] = useState([])
   useEffect(() =>{
      const getBuyer = async () =>{
        const res = await publicRequest.get(`/users/studentId/${buyer_id}`)
        setBuyerInfo(res.data)   
      }
      getBuyer()
    },[product_id, seller_id, buyer_id])

    const [itemName, setItemName] = useState({
      productId: product_id,
      buyerId: buyerInfo._id,
      sellerId: seller_id
  
    })

   const handleClick = (e) =>{
    e.preventDefault()
    console.log(itemName)
   }

编辑

【问题讨论】:

  • 你能告诉我们你从请求中收到了什么吗?
  • 你说的请求是什么意思?
  • 打开您的控制台,按网络选项卡并预览数据。如果我们能看到你得到什么,我们可以提供更好的帮助
  • @OzanMudul,我更新它,我没有收到错误,顺便说一句,我也在获取其他数据,左侧的文本来自买家信息本身
  • getBuyer 是异步的。当您尝试访问buyerInfo._id 时,您确定您的请求已经完成吗?

标签: node.js reactjs api axios mern


【解决方案1】:

我问了一个人,并通过将它直接放入 useEffect 来尝试这个,我猜这不是一个好方法但可以工作?嘻嘻。

 useEffect(() =>{
  const getBuyer = async () =>{
    try {
      const res = await publicRequest.get(`/users/studentId/${buyer_id}`)
      setItemName(prev=> ({...prev, buyerId: res.data._id}))
      setBuyerInfo(res.data)   
      
    } catch (error) {
      console.log(error)
    }
  }
  getBuyer()
},[product_id, seller_id, buyer_id])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多