繁体   English   中英

如何析构来自 useQuery 的响应

[英]How to destructor the response from the useQuery

我有一个 useQuery 钩子,它调用一个 api 并返回如下响应:

return {
  title : response?.data?.[0]?.title,
  desc: response?.data?.[0]?.desc,
}

我有这样的 useQuery :

const {data: content} = useQuery('entitle', apiCall)

在这里,我试图像这样破坏这些数据:

const {data: {title : [], desc: []}}  = useQuery('entitle', apiCall)

现在,它给出了在使用它时无法读取未定义的属性标题。 我怎样才能解决这个问题 ?

先做

const {
  data
} = useQuery('entitle', apiCall)

console.log(data)

请检查data是否具有您期望的结构。 如果请求正常完成,那么我想您一定希望日志看起来像这样。

{
  title: "something",
  desc: "something-else"
}

如果对象的结构不是这样,或者你得到undefined 然后你遇到了请求或钩子调用的问题,不知何故,查询没有返回你想要的。

如果结构是您期望的结构,那么请在您的帖子评论中写下Phil之前写的内容。

const {
  data: {
    title = [],
    desc = []
  }
} = useQuery('entitle', apiCall)

不要把事情复杂化

const {data} = useQuery('entitle', apiCall)
const {title=[], desc=[]} = data

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM