响应长键值对组件的性能影响

时间:2016-12-29 13:44:34

标签: javascript performance reactjs jsx

如何将字符串的长度应用于从某些数据集创建的某些组件集合中,如下所示:

{this.state.list.map(item => {
  const url = item.url;
  return (
    <ListItemComponent url={url} key={url}/>
  );
})}

有一些限制吗?拥有长密钥值会对性能产生什么影响?

背景。有时候我们需要创建很长的项目列表(比如编码了大量参数的网址),只有合适的/唯一的东西才能用作自然键这是非常长的事情。

1 个答案:

答案 0 :(得分:5)

用于密钥的字符串长度不应影响性能。

Javascript中的字符串是不可变的,另外现代Javascript引擎使用字符串实习,这意味着当您的解释器检查是否'/some/url/ === '/some/other/url'它不需要遍历O中的数组中的每个字符时(n)线性时间,但可以简单地检查两个值是否相同。

有关更多背景信息,请参阅此答案:Do common JavaScript implementations use string interning?