我正在通过数组使用一个映射.但即使在给出了unique key之后,我也会在谷歌chrome控制台中发现unique key的错误.

错误

Each child in a list should have a unique "key" prop.

大堆

"list": [
        {
            "dt": 1648189800,
            "sunrise": 1648169391,
            "sunset": 1648213378,
            "temp": {
                "day": 309.21,
                "min": 299.16,
                "max": 310.44,
                "night": 303.45,
                "eve": 309.79,
                "morn": 299.28
            },
            "feels_like": {
                "day": 306.39,
                "night": 301.6,
                "eve": 306.96,
                "morn": 299.28
            },
            "pressure": 1009,
            "humidity": 9,
            "weather": [
                {
                    "id": 804,
                    "main": "Clouds",
                    "description": "overcast clouds",
                    "icon": "04d"
                }
            ],
            "speed": 5.24,
            "deg": 285,
            "gust": 11.76,
            "clouds": 87,
            "pop": 0
        },
        {
            "dt": 1648276200,
            "sunrise": 1648255732,
            "sunset": 1648299800,
            "temp": {
                "day": 309.62,
                "min": 298.8,
                "max": 310.99,
                "night": 301.31,
                "eve": 309.24,
                "morn": 299.02
            },
            "feels_like": {
                "day": 306.68,
                "night": 299.88,
                "eve": 306.35,
                "morn": 298.18
            },
            "pressure": 1011,
            "humidity": 7,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 6.91,
            "deg": 314,
            "gust": 10.83,
            "clouds": 7,
            "pop": 0
        },
        {
            "dt": 1648362600,
            "sunrise": 1648342072,
            "sunset": 1648386221,
            "temp": {
                "day": 309.98,
                "min": 297.87,
                "max": 311.28,
                "night": 302.58,
                "eve": 310.11,
                "morn": 297.87
            },
            "feels_like": {
                "day": 306.96,
                "night": 300.86,
                "eve": 307.19,
                "morn": 296.71
            },
            "pressure": 1011,
            "humidity": 6,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 4.91,
            "deg": 310,
            "gust": 5.92,
            "clouds": 5,
            "pop": 0
        },
        {
            "dt": 1648449000,
            "sunrise": 1648428413,
            "sunset": 1648472643,
            "temp": {
                "day": 310.9,
                "min": 299.03,
                "max": 312.7,
                "night": 302.81,
                "eve": 311.62,
                "morn": 299.03
            },
            "feels_like": {
                "day": 307.9,
                "night": 301.03,
                "eve": 308.38,
                "morn": 298.22
            },
            "pressure": 1009,
            "humidity": 9,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 4.89,
            "deg": 307,
            "gust": 12.1,
            "clouds": 5,
            "pop": 0
        },
        {
            "dt": 1648535400,
            "sunrise": 1648514753,
            "sunset": 1648559065,
            "temp": {
                "day": 311.15,
                "min": 298.89,
                "max": 313,
                "night": 302.85,
                "eve": 311.98,
                "morn": 298.89
            },
            "feels_like": {
                "day": 307.98,
                "night": 301.05,
                "eve": 308.6,
                "morn": 297.91
            },
            "pressure": 1008,
            "humidity": 7,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 6.45,
            "deg": 306,
            "gust": 14.1,
            "clouds": 4,
            "pop": 0
        },
        {
            "dt": 1648621800,
            "sunrise": 1648601094,
            "sunset": 1648645486,
            "temp": {
                "day": 311.22,
                "min": 299.07,
                "max": 313.3,
                "night": 303.5,
                "eve": 312.13,
                "morn": 299.07
            },
            "feels_like": {
                "day": 308.04,
                "night": 301.56,
                "eve": 308.73,
                "morn": 298.14
            },
            "pressure": 1008,
            "humidity": 7,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 6.69,
            "deg": 305,
            "gust": 14.42,
            "clouds": 0,
            "pop": 0
        },
        {
            "dt": 1648708200,
            "sunrise": 1648687435,
            "sunset": 1648731908,
            "temp": {
                "day": 311.17,
                "min": 298.97,
                "max": 313.51,
                "night": 302.55,
                "eve": 312.26,
                "morn": 298.97
            },
            "feels_like": {
                "day": 308.15,
                "night": 300.82,
                "eve": 308.76,
                "morn": 298.08
            },
            "pressure": 1009,
            "humidity": 9,
            "weather": [
                {
                    "id": 800,
                    "main": "Clear",
                    "description": "sky is clear",
                    "icon": "01d"
                }
            ],
            "speed": 5.69,
            "deg": 288,
            "gust": 12.41,
            "clouds": 4,
            "pop": 0
        }
    ]

密码

{list &&
              list.map((item) => {
                return (
                  <>
                    <div
                      key={item?.speed}  //Taking item speed as a KEY
                      className="bg-pink-200 rounded-lg border border-gray-200 shadow-md "
                    >
                      <div className="flex flex-col w-32 items-center p-3 text-center">
                        <h5 className="mb-1 text-lg font-medium  text-gray-900 uppercase">
                          {dateprocessing(item?.dt).day} <b>{item.speed}</b>
                        </h5>
                        <h6 className="mb-1 text-sm  text-gray-500 font-light">
                          {dateprocessing(item?.dt).date}
                        </h6>
                        <形象
                          src={imgurl}
                          height={40}
                          width={40}
                          alt="sunset"
                        />
                        <span className="text-base text-gray-800 ">
                          {kelvinToCelcius(item?.temp?.day)} C
                        </span>
                        <span className="text-base text-gray-400 ">
                          {kelvinToCelcius(item?.temp?.night)} C
                        </span>

                        <div className="flex mt-4 lg:mt-6">
                          <a className="inline-flex items-center py-2 px-4 text-sm font-medium text-center text-gray-900 bg-white rounded-lg border border-gray-300 hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 ">
                            {item.weather[0]?.description} and{" "}
                            {item.weather[0]?.main}
                          </a>
                        </div>
                      </div>
                    </div>
                  </>
                );
              })}

你可以从代码中看到,我把item.speed作为一个键.通过在前端显示,我看到这七个值中的每一个都是unique.

形象

error

在dayname的右边可以看到item.speed的值

项目速度=[5.24,6.91,4.91,4,89,6.45,6.69,5.69]

What should be the possible mistake???

推荐答案

这是因为您为列表中的每个项目返回了一个React片段.要使用带有片段的密钥,您需要这样做:

<React.Fragment key="your-key"> ... </React.Fragment>

根据文件:

您可以使用<></>;与使用任何其他元素的方式相同,只是它不支持键或属性.

使用显式<;react 碎片>;语法可能有键.这方面的一个用例是将集合映射到片段array.

如果你想查看以下文件:ReactJS Fragment docs

Javascript相关问答推荐

如何在pixi js中画一条简单的线

以逗号分隔的列表来数组并填充收件箱列表

调用SEARCH函数后,程序不会结束

在JavaScript中检索一些文本

为什么我达到了时间限制!?LeetCode链接列表循环(已解决,但需要解释!)

无法将nPM simplex-noise包导入在JS项目中工作

React Native平面列表自动滚动

Chrome是否忽略WebAuthentication userVerification设置?""

屏幕右侧屏障上的产卵点""

JSDoc创建并从另一个文件导入类型

使用Promise.All并发解决时,每个promise 的线性时间增加?

如何在coCos2d-x中更正此错误

单个HTML中的多个HTML文件

使用领域Web SDK的Vite+Vue应用程序中的Web程序集(WASM)错误

如何在使用rhandsontable生成表时扩展数字输入验证?

Web Crypto API解密失败,RSA-OAEP

将Node.js包发布到GitHub包-错误ENEEDAUTH

获取';无法解决导入和导入";slick-carousel/slick/slick-theme.css";';错误

如何组合Multer上传?

如何在AG-Grid文本字段中创建占位符