无法查询 GraphQL 查询的结果,因为我彼此使用 2 个数组



这是我的map函数,我正在使用gatsby的act。

当我运行我的 graphiql 浏览器(一个 IDE graphql 操场(时,我将组作为一个数组,而 edge 也是一个数组。

查询是静态查询,映射函数位于基于类的 React 组件内部

{group.map(({ edges }) => {
console.log(group);
edges.map(index => {
return <p>Hello</p>
});
})}

但是,p 标签没有显示任何内容,但是如果我控制台.log("hello"(它会控制台 hello 4 次,有人有什么想法吗? 我有点不知所措。

控制台.log返回

(3) [{…}, {…}, {…}]
0:
edges: Array(2)
0:
node: {tune: "awesome", title: "Awesome Song", playtime: "2:50", page: "249", filesize: "1.8", …}
__proto__: Object
1:
node: {tune: "awesome", title: "AwesomeSong 2", playtime: "4:05", page: "525", filesize: "2.6", …}
__proto__: Object
length: 2
__proto__: Array(0)
__proto__: Object
1:
edges: Array(1)
0:
node: {tune: "decent", title: "Awesome Song3", playtime: "4:06", page: "719", filesize: "2.4", …}
__proto__: Object
length: 1
__proto__: Array(0)
__proto__: Object
2: {edges: Array(1)}
length: 3
__proto__: Array(0)

你试过这样的事情吗?

{group.map(({ edges }) => {
return edges.map(({node})=> {
return <p>{node.title}</p>
});
})}

您需要在第一个map()循环中返回一些内容。

此外,您是否在render()函数中显示循环?否则,您无法显示<p>标记。

最新更新