항목 목록을 렌더링 할 때 React는 항목이없는 경우 각 항목의 색인을 기본 키로 사용합니다.React가 왜 객체 참조를 키로 사용하지 않습니까?
return <div>
{this.props.shows.map(show => <ShowComp title = {show.title}/>)}
</div>;
왜 대신 각 항목의 JS 객체 참조을 사용하여 반응하지 않습니다? 그것이 인덱스 순서가 바뀌면 (색인 접근 방식과 반대되는) 항목의 재 렌더링을 일으키지 않으므로 훨씬 안전한 옵션처럼 보입니다.
저는 React에 처음으로 접했습니다. 근본적인 이유가있을 것입니다.
는 코너에서 (소자 반응 매핑 개체 유사한 요소들의리스트를 렌더링) ngFor
, 또한 (반작용에 key
동등하다)을 trackBy
구성 옵션을 갖는다. 그러나 그것이 제공되지 않으면 객체 참조를 식별자로 사용하므로 더 자연 스럽습니다.
응답 해 주셔서 감사합니다. "형제끼리의 고유 한 부분"을 얻었지만 왜 객체 참조를 키로 사용할 수 없는지, 왜 문자열이나 숫자를 사용해야하는지 알지 못합니다. 객체 참조는 각 객체에 대해 고유하게 고유합니다. 어쩌면 잘못된 질문을하는 것일 수도 있습니다. –