ES6地图在盖茨比中返回空虚

时间:2018-02-04 11:22:33

标签: reactjs gatsby

我有一个JSON文件,通过gatsby-source-filesystem读取该文件,为Gatsby和Gatsby提供值。我正在使用带有gatsby-transformer-json的GraphQL,它为我提供了如下所示的查询,以便在代码中访问JSON的所有值

    {
      allSrcJson {
       totalCount
       edges {
         node {
          total
          results {
            account
          }
       }
     }
   }
 }

现在在我的代码中,当我尝试做.map时,它第一次工作,而下次它说Cannot read property 'account' of undefined而当我写node.results [0] .account它给我结果

{data.allSrcJson.edges.map(({ node }) => (
   <div key={node.total}>
     <p>{node.total}</p>
     {node.results.map(({ result }) => (
       <p>{result.account}</p>
     ))};
   </div>
))}

1 个答案:

答案 0 :(得分:1)

如果没有看到数据就很难诊断出来,但听起来你的results数组中至少有一个成员没有result属性。如果您尝试取出第二个对象解构,并注销该对象,您将看到哪个失败。 (或许你打算做第二个对象解构,如node.results.map({ account })

{node.results.map(obj => {
    console.log(obj)
    if (obj.result) {
        return <p>{obj.result.account}</p>
    } else return null
})