2016-12-29 42 views
1

长键值的性能影响如何应用到一些数据集这样造成了一些组件集合字符串的长度:产生反应成分

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

是否有一些限制?具有长期关键价值的性能影响是什么?

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

回答

3

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

字符串在Javascript是不变的,另外现代的JavaScript引擎使用串实习,也就是说,当你的解释是检查是否'/some/url/ === '/some/other/url'它并不需要遍历每个字符在O(n)的线性时间数组中,但可只需检查两个值是否相同。

查看此答案以获取更多背景:Do common JavaScript implementations use string interning?