【发布时间】:2021-11-05 09:47:46
【问题描述】:
在此处输入代码 - 它给我错误无法读取未定义的属性(读取“边缘”)当我 删除的边缘 来自 const {compdata} = data.allJson.edges.node;它对节点显示相同的错误。什么是 映射这个的正确方法,我必须创建 使用相同 json 文件的动态页面。请帮我解决这个问题。 在此处输入代码文件路径
src/data/data.json
{
"compdata": [
{
"id": 1,
"title": "FlexBox",
},
{
"id": 2,
"title": "Grid layout",
},
] }
graphQl query
query MyQuery {
allJson {
edges {
node {
compdata {
id
example
}
}
}
}
}
gatsby-config.js
{
resolve: `gatsby-transformer-json`,
options: {
typeName: `Json`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/data`,
name: `data`
},
},
this is my index.js
export default function Home(data) {
// const { compdata } = data.dataJson
// console.log(data);
const {compdata} = data.allJson.edges.node;
console.log(compdata);
return (
<Layout>
<h1>Home page</h1>
<h1>{JSONData.title}</h1>
<ul>
{compdata.map((data1, index) => {
return <li key={`content_item_${index}`}>{data1.example}</li>
})}
</ul>
</Layout>
)
}
【问题讨论】: