如何解决CastError:Cast to ObjectId 因路径中的值“未定义”而失败
我正在尝试使用来自 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}`)
},[])
解决方法
那是因为数据将在下一次渲染时可用,添加另一个 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])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。