【问题标题】:lodash react router eventKeylodash反应路由器事件键
【发布时间】:2018-11-25 13:14:28
【问题描述】:

我正在尝试使用 lodash 创建一组链接,以便可以轻松更改它们。

  {_.map(leftItems, item => (
    <Menu.Item>
      <Link {...item} eventKey={{ ...item.eventkey }} />{' '}
    </Menu.Item>
      ))}

然后我用这个 JSON 把物品带进来

const leftItems = [
  {
    content: 'Component1',
    key: 'component1',
    eventkey: 1,
    to: '/component1',
    className: 'left'
  },
  {
    content: 'Component2',
    key: 'component2',
    eventkey: 2,
    to: '/component2',
    className: 'left'
  },
  {
    content: 'Component3',
    key: 'component3',
    eventkey: 3,
    to: '/component3',
    className: 'left'
  },
  {
    content: 'Component4',
    key: 'component4',
    eventkey: 4,
    to: '/component4',
    className: 'left'
  }
];

我在摆脱这些错误时遇到了问题:

index.js:2178 警告:数组或迭代器中的每个子元素都应该有一个唯一的“key”属性。

index.js:2178 警告:React 无法识别 DOM 元素上的 eventKey 属性。如果您有意希望它作为自定义属性出现在 DOM 中,请将其拼写为小写 eventkey。如果您不小心从父组件传递了它,请将其从 DOM 元素中移除。

【问题讨论】:

  • 我也试过这个:key={item.eventkey} 仍然认为它不是唯一的键。

标签: json reactjs parsing lodash


【解决方案1】:

你需要把唯一键放在&lt;Menu.Item&gt;上,即:

{_.map(leftItems, item => (
    <Menu.Item key={item.eventkey}>
      <Link {...item} />{' '}
    </Menu.Item>
))}

eventKey={{ ...item.eventkey }} 是不必要的,因为您的扩展运算符 {...item} 暗示了它

【讨论】:

猜你喜欢
  • 2017-12-06
  • 2017-09-16
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
  • 2021-09-28
  • 2019-02-18
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多