Reactjs 反应:如果我实施了修复,为什么我仍然会得到唯一的钥匙道具警告?

Reactjs 反应:如果我实施了修复,为什么我仍然会得到唯一的钥匙道具警告?,reactjs,Reactjs,因此,我已将修复添加到“唯一关键道具”警告: import React from 'react'; import VideoItem from './VideoItem'; const VideoList = ({ videos, onVideoSelect }) => { const renderedList = videos.map((video) => { return ( <VideoItem key={video.id.vid

因此,我已将修复添加到“唯一关键道具”警告:

import React from 'react';
import VideoItem from './VideoItem';

const VideoList = ({ videos, onVideoSelect }) => {
  const renderedList = videos.map((video) => {
    return (
      <VideoItem
        key={video.id.videoId}
        onVideoSelect={onVideoSelect}
        video={video} />
    );
  });

  return <div className="ui relaxed divided list">{renderedList}</div>;
};

export default VideoList;
从“React”导入React;
从“./VideoItem”导入VideoItem;
const VideoList=({videos,onVideoSelect})=>{
const renderedList=videos.map((视频)=>{
返回(
);
});
返回{renderedList};
};
导出默认视频列表;

我错过了什么或没有看到什么?我仍然得到了错误。

@Daniel,我认为您仍然得到了唯一的密钥错误,因为,可能是您返回的具有类似id的密钥-

你可以试试这样的东西-

import React from 'react';
import VideoItem from './VideoItem';

const VideoList = ({ videos, onVideoSelect }) => {
  const renderedList = videos.map((video, index) => {
    return (
      <VideoItem
        key={video.id.videoId+index}
        onVideoSelect={onVideoSelect}
        video={video} />
    );
  });

  return <div className="ui relaxed divided list">{renderedList}</div>;
};

export default VideoList;
从“React”导入React;
从“./VideoItem”导入VideoItem;
const VideoList=({videos,onVideoSelect})=>{
const renderedList=videos.map((视频,索引)=>{
返回(
);
});
返回{renderedList};
};
导出默认视频列表;

看起来不错。很可能您的源具有重复的ID。打印出来并检查。

你的
键不是没有定义吗?@t3\u\rry,我哪里都没有定义
video.id.videoId
是我制作每个视频的方式,效果很好。你是对的。我尝试了其他视频主题,但没有得到那个问题。源代码有重复的ID,有趣的是,这对我来说是第一次。非常感谢。