代码之家  ›  专栏  ›  技术社区  ›  Daniel

反应:如果我执行修复,为什么我仍然会得到唯一的关键属性警告?

  •  -1
  • Daniel  · 技术社区  · 6 年前

    因此,我将修复添加到了唯一的密钥属性警告:

    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;
    

    我错过或看不到什么?我还是会出错。

    2 回复  |  直到 6 年前
        1
  •  1
  •   jorbuedo    6 年前

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

        2
  •  0
  •   onkar.v    6 年前

    @丹尼尔,我想你还是得到了唯一的密钥错误,因为,可能是你返回的具有类似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;