我有一个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>
))}
答案 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
})