>웹 프론트엔드 >JS 튜토리얼 >React.js에서 하위 항목 배열에 고유 키를 올바르게 할당하는 방법은 무엇입니까?

React.js에서 하위 항목 배열에 고유 키를 올바르게 할당하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-28 00:51:18965검색

How to Properly Assign Unique Keys to Array Children in React.js?

React.js에서 배열 하위 요소에 대한 고유 키 이해

React에서 동적 테이블로 작업할 때 각 하위 요소에 고유 키를 할당하는 것은 효율적인 렌더링을 위해 필수적입니다. 그러나 "배열의 각 하위 항목에는 고유한 '키' 소품이 있어야 합니다."와 같은 오류가 발생하면 실망스러울 수 있습니다.

다음 코드 조각을 고려하세요.

render: function() {
  return (
    <table key="table">
      <thead key="thead">
        <TableHeader columns={columnNames} />
      </thead>
      <tbody key="tbody">
        {rows}
      </tbody>
    </table>
  );
}

TableComponent에 키가 할당되면 행 변수 내의 각 행 요소에 고유 키가 누락됩니다. 이렇게 하면 언급된 오류가 발생합니다.

이 문제를 해결하려면 모든 배열 하위 항목에 고유한 키가 있는지 확인하세요. 이 경우 각 TableRowItem 구성 요소에는 고유한 키가 있어야 합니다.

<TableRowItem key={item.id} data={item} columns={columnNames} />

또한 각 배열 하위 내의 하위에도 고유 키가 필요합니다. 제공된 TableRowItem 구성 요소에서:

var TableRowItem = React.createClass({
  render: function() {
    var td = function() {
      return this.props.columns.map(function(c) {
        return <td key={this.props.data[c]}>{this.props.data[c]}</td>;
      }, this);
    }.bind(this);

    return (
      <tr>{td(this.props.item)}</tr>
    )
  }
});

React가 테이블을 업데이트할 때 DOM 변경을 최소화할 수 있도록 각 td 요소에 키를 할당해야 합니다. 배열 하위 내의 각 하위 항목에 대한 키를 제공하지 못하면 업데이트된 요소뿐 아니라 전체 행을 다시 렌더링해야 할 수도 있습니다.

이러한 지침을 따르면 동적 요소의 효율적인 렌더링을 보장할 수 있습니다. 배열 하위 항목과 해당 요소에 고유한 키가 할당된 React의 테이블입니다. 추가 통찰력과 모범 사례는 키에 대한 React 문서를 참조하세요.

위 내용은 React.js에서 하위 항목 배열에 고유 키를 올바르게 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.