reactjs - 为什么即使在为返回值提供键之后反应键也不起作用
问题描述
我用过uuidv4()
,但没有用。我什至尝试为物品提供自己的 ID,但没有奏效。这是我的代码。
<Grid container className="main-movie-container" spacing={3}>
{movies.map((movie) => {
return (
<>
<Grid className="sub-movie-container" key={movie.imdbID}>
<Card md={4} className="card">
<img src={movie.Poster} alt="" />
<div className="content">
<p className="name">{movie.Title}</p>
<p className="year">Release Date: {movie.Year}</p>
<button onClick={()=>addFavourites(movie)}>Add to Favourites</button>
</div>
</Card>
</Grid>
</>
)
})}
</Grid>
解决方案
返回的最外层元素需要具有唯一键,在您的情况下是<>...</>
,但 React 键与片段简写不兼容,因此您需要完全指定<Fragment key={movie.imdbID}>...</Fragment>
. 实际上最好去掉那个片段,因为你不需要它,因为你已经有一个包装器(Grid
)。
推荐阅读
- c - 使用递归函数,找到一个使用加法运算符计算两个数字相乘的程序
- python - 我的 Python 代码中出现 TypeError 的原因是什么?
- apache-spark - Spark on Kubernetes:当作业失败时是否可以保留崩溃的 Pod?
- splunk - 如何从时间表创建 Splunk 气泡图
- performance - 为什么 React Native Expo 应用上的视频会有延迟?
- javascript - 在 Node js 中创建计时器,每 10 分钟重置一次,并在点击 api 时返回当前分钟
- python - 如何从字符串中提取数字?
- firebase - 如何从通过 Firebase 上传到 Cloud Storage 的文件中删除 EXIF 数据
- eclipse - 组合两个数据集时,BIRT 查看器中的行跳过
- javascript - SyntaxError Unexpected token < in JSON at react.js API 导航中的位置 0