Reactjs 在React with TypeScript中从GraphQL查询访问嵌套数据时出现问题
我已经使用以下结构设置了一个GraphQL查询,我正在传递该查询以响应渲染:Reactjs 在React with TypeScript中从GraphQL查询访问嵌套数据时出现问题,reactjs,graphql,react-typescript,Reactjs,Graphql,React Typescript,我已经使用以下结构设置了一个GraphQL查询,我正在传递该查询以响应渲染: { events{ id name startDate endDate subscribedUsers{ id name } } } 我有两个具体问题: 在一个视图中,我有一个表,希望在其中显示事件详细信息和订阅用户的数量。当I console.log订阅用户时,它看起来像一个数组,它没有我可以引用的.length属性,而且我似乎无法对
{
events{
id
name
startDate
endDate
subscribedUsers{
id
name
}
}
}
我有两个具体问题:
.length
属性,而且我似乎无法对其应用数组方法来获取长度。当我试图用{props.event.subscribedUsers.length}
我发现类型{id:string;name:string;}.ts(2339)
{props.subscribedUsers.map((attendee:AttendeType)=>{…}
类型“{id:string;name:string;}”上不存在属性“length”。ts(2339)
有什么方法可以将订阅的用户数据转换为我可以正常访问的阵列,或者如何最好地获取数据
感谢您的帮助。标记您已经指出了原因。查看架构-错误提示数据不是数组。它是一个普通对象,您可以使用简单的点符号访问,例如:
{props.subscribedUsers.id} or {props.subscribedUsers.name}
谢谢,这很有意义。所以我应该能够使用
Object.entries()将{props.subscribedUsers}
转换为一个数组
然后我可以映射它。我会尝试一下。检查是否会成功,除非必须,否则无需将其转换为数组。如果上述方法对其他社区有效,请接受解决方案。查看数据/网络响应(显示片段!?)-此查询可以返回对象和数组,有时可能是[missleading]如果只存在一条记录,则对象取决于特定的API行为/规范-编码前测试/签入