【问题标题】:Are item keys required when rendering an array in React v15?在 React v15 中渲染数组时是否需要项键?
【发布时间】:2016-04-28 09:18:27
【问题描述】:

在早期版本的 React 中,我记得在没有为每个项目指定唯一 key 的情况下渲染数组时收到警告:

render() {
  return (
    <div>
      {this.props.items.map(item => <span>{item.text}</span>)}
    </div>
  );
}

我了解,建议在呈现动态项目列表(可以添加或删除项目)时指定键,以帮助协调算法。我想了解:

  1. 为什么 React 在缺少键时不再发出警告?
  2. 对于静态列表,指定项键是否有值?

官方指点将不胜感激。

【问题讨论】:

  • 而且错误依旧存在jsfiddle.net/t0n6393r
  • 错误依然存在。如果您没有看到此警告,可能您正在生产环境中运行?
  • 是否有可能 OP 正在编译他的代码以用于生产,从而消除了调试代码?
  • @JohnnyMagrippis,是的。很确定这里就是这种情况。在从 0.14 > 15 升级期间,他可能也开启了生产,也许是偶然的。

标签: reactjs


【解决方案1】:

其实我还是看到了this warning message,而official release notes里面并没有提到这个案例

Example

【讨论】:

  • 嗯.. 看起来我的代码库中发生了一些奇怪的事情。浏览器不显示警告,但在服务器渲染时我仍然可以在终端中看到警告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 2021-05-07
  • 2018-10-07
  • 1970-01-01
相关资源
最近更新 更多