如何在JSX中返回映射数组



我已经将一些dummyData(1000个电影对象(导入到我的React.js组件中,我想渲染标题。

export const dummyData = [
{
id: 'tt0111161',
rank: '1',
title: 'The Shawshank Redemption',
}

我已经创建了一个数组与整个对象,我希望显示前3部电影。

const likedFilms = [];
for (let i = 0; i < 3; i++) {
likedFilms.push(dummyData);
}

我现在面临的问题是如何命名。

我试过用这个。和没有。不确定如何访问此数据。。。

return (
<div>
{likedFilms.map((likedFilm) => <p>TITLE: {likedFilms.title} </p>)}
</div> )
or TITLE: {this.likedFilms.title} 

映射确实有效,正如它向我展示的那样:标题:标题:标题:

但它并没有呈现标题。

编辑您的返回,您访问的是likedFilmS而不是likedFilm,在本例中,我已将名称更改为film

{likedFilms.map(film => <p>TITLE: {film.title} </p>)}
{likedFilms.map((likedFilm) => <p>TITLE: {likedFilm.title} </p>)}

likedFilmed是数组的名称,而likedFilm是迭代时数组中每个项的名称。因此,在映射的返回中,您希望访问单个项目的属性likedFilm.title,而不是likedFilms

我还建议给p元素一个密钥,以消除React的控制台警告;因此,假设电影名称是独一无二的,它就会变成

{likedFilms.map((likedFilm) => <p key={likedFilm.title}>TITLE: {likedFilm.title} </p>)}

最新更新