Reactjs 返回整数而不是对象的GraghQL查询

Reactjs 返回整数而不是对象的GraghQL查询,reactjs,graphql,gatsby,Reactjs,Graphql,Gatsby,我不明白为什么我的问题没有一个在我的盖茨比项目上起作用 import React from "react" import { graphql } from "gatsby" const site_info = () => { const query = graphql` query title { allSite { edges { node

我不明白为什么我的问题没有一个在我的盖茨比项目上起作用

   import React from "react"
   import { graphql } from "gatsby"

   const site_info = () => {
     const query = graphql`
       query title {
         allSite {
           edges {
             node {
               siteMetadata {
                  title
               }
             }
           }
         }
       }
     `
     console.log(query)
     return <p>Test</p>
   }

   export default site_info
从“React”导入React
从“盖茨比”导入{graphql}
施工现场信息=()=>{
const query=graphql`
查询标题{
allSite{
边缘{
节点{
站点元数据{
标题
}
}
}
}
}
`
console.log(查询)
回归检验

} 导出默认站点信息
在控制台中,我希望有一个可以在元数据中看到标题的对象,但是,我得到了
2641826822

我直接从GraphiQL复制了查询,在那里我看到了预期的结果,因此不确定为什么它在这里不起作用。

当您在盖茨比模式中使用GraphiQL查询(使用您提供的页面查询)某些数据时,您的数据存储为页面
属性(而不是查询变量本身),因此,您需要访问它们
props
,并遍历对象,直到找到数据为止。理想的数据结构应如下所示:

const yourPage = ({ data }) => {
  const { title } = data.allSite.edges[0].node.siteMetadata;

  return <Layout>
    <h1>{title}</h1>
  </Layout>;
};

export const yourPageData = graphql`
       query title {
         allSite {
           edges {
             node {
               siteMetadata {
                  title
               }
             }
           }
         }
       }
     `;

export default yourPage;
constyourpage=({data})=>{
const{title}=data.allSite.edges[0].node.siteMetadata;
返回
{title}
;
};
export const yourPageData=graphql`
查询标题{
allSite{
边缘{
节点{
站点元数据{
标题
}
}
}
}
}
`;
导出默认页面;
基本上,在上面的代码片段中,我将
数据
分解为
道具
(而不是
道具数据
),并对
数据.allSite.edges[0].node.sitemata
执行相同的操作,以获得
标题

在深入研究岩石上的GraphQL之前,我建议您阅读一些文档。

当您在盖茨比模式中使用GraphQL查询(使用您提供的页面查询)某些数据时,您的数据存储为页面
属性
(而不是查询变量本身),因此,您需要访问它们
props
,并遍历对象,直到找到数据为止。理想的数据结构应如下所示:

const yourPage = ({ data }) => {
  const { title } = data.allSite.edges[0].node.siteMetadata;

  return <Layout>
    <h1>{title}</h1>
  </Layout>;
};

export const yourPageData = graphql`
       query title {
         allSite {
           edges {
             node {
               siteMetadata {
                  title
               }
             }
           }
         }
       }
     `;

export default yourPage;
constyourpage=({data})=>{
const{title}=data.allSite.edges[0].node.siteMetadata;
返回
{title}
;
};
export const yourPageData=graphql`
查询标题{
allSite{
边缘{
节点{
站点元数据{
标题
}
}
}
}
}
`;
导出默认页面;
基本上,在上面的代码片段中,我将
数据
分解为
道具
(而不是
道具数据
),并对
数据.allSite.edges[0].node.sitemata
执行相同的操作,以获得
标题


在深入研究岩石上的GraphQL之前,我建议您阅读一些文档。

common。。。定义查询并不意味着它在下一行代码中运行/获取数据/可用。。。基本反应/js知识常见。。。定义查询并不意味着它在下一行代码中运行/获取数据/可用。。。基本react/js知识感谢分享Gatsby文档,现在查询如何与对象交互变得更有意义了。然而,正如你上面所展示的那样,传递道具并没有解决我的问题。数据仍以未定义状态返回。有没有可能我在gatsby-config.js中遗漏了什么?我配置了盖茨比源文件系统插件以及siteMetaData对象。查询是否在
localhost:8000/\uuuuuu graphql
游乐场中工作?是的,我得到了预期值。感谢共享盖茨比文档,现在查询如何与对象交互变得更有意义了。然而,正如你上面所展示的那样,传递道具并没有解决我的问题。数据仍以未定义状态返回。有没有可能我在gatsby-config.js中遗漏了什么?我已经配置了gatsby源文件系统插件以及siteMetaData对象。查询是否在
localhost:8000/\uuuuu graphql
playway中工作?是的,我在那里得到了预期值