【问题标题】:CastError: Cast to ObjectId failed for value "undefined" at pathCastError:转换到 ObjectId 失败,路径中的值“未定义”
【发布时间】:2021-05-13 02:10:48
【问题描述】:

我正在尝试使用从 apis 获取数据,在我的 useEffect 函数中,它包含 2 个获取请求。第二个获取请求需要一个基于第一个获取请求的返回值的参数。但是我遇到了一个错误,即 CastError: Cast to ObjectId failed for value "undefined" at path from mongoose。任何人都可以提供帮助或有什么干净的方法可以解决?非常感谢!

例如:

 const[data,setdata]=useState([])
 useEffect(() => {
    axios.get('http:localhost.....').then({res=>{
         setdata(res.data)
  }})
   axios.get(`http:localhost.....${data._id}`)
}, [])

【问题讨论】:

    标签: reactjs mongoose use-effect mern


    【解决方案1】:

    那是因为数据在下次渲染时可用,添加另一个 useEffect 以在数据有值时触发第二次调用:

     const[data, setData]= useState([]);
    
     useEffect(() => {
        axios.get('http:localhost.....').then(res=> setData(res.data);
      }, [])
    
    useEffect(() => {
       if(data.lenght){
         axios.get(`http:localhost.....${data._id}`);
       }
      }, [data])
    

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 2014-06-20
      • 2015-07-16
      • 2018-03-16
      • 2021-07-04
      • 2021-06-05
      • 2016-11-11
      • 2017-03-26
      • 2017-05-26
      相关资源
      最近更新 更多