【问题标题】:How to display nested queries in React GraphQL?如何在 React GraphQL 中显示嵌套查询?
【发布时间】:2020-05-09 03:58:00
【问题描述】:

我正在使用 React,试图将我的嵌套 GraphQL 查询变成一个列表。

到目前为止,在 GraphiQL 中,以下查询正在生成我正在寻找的内容的顺序和一般结构。基本上,对于每个tag,我希望显示fieldValue,然后在每个tag 下,我想为每个具有tag 的项目列出node.fields.slug

query MyQuery {
  allMarkdownRemark {
    group(field: frontmatter___tags) {
      tag: fieldValue
      totalCount
      edges {
        node {
          fields {
            slug
          }
          frontmatter {
            title
          }
        }
      }
    }
  }
}

到目前为止,我唯一能正常工作的部分是列出每个 tag

{data.articles.group.map(({ tag }) => (
    <ul>
        <li>{ tag }</li>
    </ul>
))}

如何将每个标签的项目列在各自的标签名称下方?

【问题讨论】:

  • 把反应的数据显示出来。您将获得有关使用 react 而不是 graphql 的人的帮助。地图应该在
      里面,就像这样 &lt;ul&gt;{data.articles.group.map(({ tag }) =&gt; ( &lt;li&gt;{ tag }&lt;/li&gt; ))} &lt;/ul&gt; 否则你正在创建许多 &lt;ul&gt;&lt;li/&gt;&lt;/ul&gt; 但你想要 &lt;ul&gt;&lt;li/&gt;&lt;li/&gt;&lt;li/&gt;&lt;li/&gt;&lt;/ul&gt;
  • 您可以将地图放入另一个地图中。

标签: reactjs graphql


【解决方案1】:

我真的想通了。终于写完了

{data.articles.group.map(({ tag, edges }) => (
    <ul>
        <h3>{ tag }</h3>
        { edges.map(({ node }) => (
            <li>{node.frontmatter.title}</li>
        ))}
    </ul>
))}

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 2017-07-17
    • 2020-11-17
    • 2020-11-20
    • 2022-01-20
    • 2021-01-29
    • 2020-12-02
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多