【发布时间】:2020-10-20 01:06:26
【问题描述】:
问题
我想从 contentflow 中获取文章,但这是我遇到的错误
TypeError: Cannot read property 'id' of undefined
(anonymous function)
E:/Project-VidM/client/src/components/Blog/index.js:21
18 |
19 | const Articles = article.map((entry) => {
20 | return(
> 21 | <div className="entry" key={entry.sys.id}>
| ^ 22 | <h1>{entry.fields.title}</h1>
23 | <img src={entry.fields.featuredImage.sys} />
24 | {entry.fields.body.data}
View compiled
这是我的反应代码
import React, { useState, useEffect} from 'react'
import * as contentful from 'contentful';
const BlogComponent = () => {
const [article, setArticle] = useState([]);
const client = contentful.createClient({
space: 'xxxxxxxx' ,
accessToken: 'xxxxxxxxxxxxxxxxxxxxxxxx'
});
useEffect(() => {
client.getEntries()
.then((res) => {
setArticle([res.items]);
})
}, [])
const Articles = article.map((entry) => {
return(
<div className="entry" key={entry.sys.id}>
<h1>{entry.fields.title}</h1>
<img src={entry.fields.featuredImage} />
{entry.fields.body.data}
</div>
)
})
return (
<div>
{Articles}
</div>
)
}
export default BlogComponent
当我在 res.items 上执行 console.log 时,我得到以下输出:
如何映射特定字段?
【问题讨论】:
标签: javascript reactjs contentful