javascript - 定义多个数组时,数组或迭代器中的每个子元素都应具有唯一的 "key"属性

标签 javascript arrays reactjs

我定义了 2 个不同的值,但不断收到错误“数组或迭代器中的每个子项都应该有一个唯一的“key”属性。”当我将索引更改为另一个字符时,问题仍然存在。关于如何解决这个问题的任何想法/

const navLinks = [
      {route: '/about', text: 'Works'},
      {route: '/products', text: 'Profile'},
      {route: '/contact', text: 'Contact'},
      {route: '/how', text: 'How'}
    ];

    const Links = navLinks.map((b, i) =>
      <Link key={i} to={b.route} activeStyle={{color: 'red'}} className="link is-info navbar-item is-hidden-tablet">{b.text}</Link>
    );

    const Links1 = navLinks.slice(0, 2).map((b, i) =>
      <p className="level-item has-text-centered is-hidden-touch">
        <Link to={b.route} activeStyle={{color: 'red'}} className="link is-info">{b.text}</Link>
      </p>
    );

最佳答案

该问题似乎缺少 key Links1 中段落元素的 prop 。尝试添加key={ i }<p/>像这样:

const Links1 = navLinks.slice(0, 2).map((b, i) =>
      <p key={ i } className="level-item has-text-centered is-hidden-touch">
        <Link to={b.route} activeStyle={{color: 'red'}} className="link is-info">
        {b.text}
        </Link>
      </p>
    );

关于javascript - 定义多个数组时,数组或迭代器中的每个子元素都应具有唯一的 "key"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769839/

相关文章:

javascript - ASP.NET DropDownList 服务器控件在选择时不会触发 jQuery .Change()?

javascript - 引导单选按钮在事件时附加标记

php - 推送器 PHP "server"不工作

javascript, 日历

python - 需要将一维数组转换为二维数组才能连接背后的逻辑是什么?

c++ - 模板化类构造函数中的 static_assert

javascript - 非常基本的 React + NodeJS 获取 : Why is my response not what I want?

javascript - 如何在 react , Gatsby 中从子组件内部更改父组件的背景颜色

ios - 用plist替换NS对象数组

javascript - formik 警告,组件正在更改要控制的文本类型的不受控制的输入