子容器的Key是很重要的
key必须传递给从数组中动态创建的所有组件的一个值。它是一个唯一且固定的id,用来识别DOM中的每个组件,也可以让我们区别它是否是同一个组件。使用key可以确保子容器是可保存而且不需要重复创建的,还可以防止奇怪的事情发生。
key跟效率不是很相关,它更与身份有关系(这间接的使效率更好)。随机的赋值或改变值将不能识别身份Paul O’Shannessy
- 使用对象存在的的唯一值。
- 在父组件定义key,而不是子组件。
1 | //bad |
- 使用数组索引是一个坏习惯
random()
不会起作用
1 | //bad |
- 你可以创建以自己的唯一id。确定这个方法运行速度够快,把它附着到你的对象上。
- 当子组件的数量很大或者包含重量级的组件时,使用key来提高性能。
- 你必须提供key值给ReactCSSTransitionGroup的每个子组件
原文作者: anhr
原文链接: http://yoursite.com/2019/11/04/react/2016-01-02-keys-in-children-components-are-important/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)