【发布时间】:2018-05-13 18:49:20
【问题描述】:
当渲染一个项目列表时,如果没有提供,React 使用每个项目的索引作为默认键。
return <div>
{this.props.shows.map(show => <ShowComp title = {show.title}/>)}
</div>;
但是为什么 React 不使用每个项目的 JS 对象引用 来代替呢?在我看来,这是一个更安全的选择,因为如果列表顺序发生变化(与索引方法相反),它不会导致任何项目的重新呈现。
我对 React 比较陌生,所以我确信有一个潜在的原因。
在 Angular 中,ngFor(呈现元素列表,类似于将对象映射到 React 元素),它还有一个 trackBy 配置选项(相当于 React 中的 key)。但是,如果不提供,它使用对象引用作为标识符,这看起来更自然。
【问题讨论】:
标签: javascript reactjs jsx