Fragments

js·2022년 6월 20일
0

Fragments를 사용하면 DOM에 별도의 노드를 추가하지 않고 여러 자식을 그룹화할 수 있다

동기

tr 요소의 자식으로 td요소들이 있어야 하는데, div로 감싸면 유효한 구조가 아니다. 따라서, div 요소 대신 fragments를 사용하자

class Table extends React.Component {
  render() {
    return (
      <table>
        <tr>
          <Columns />
        </tr>
      </table>
    );
  }
}

class Columns extends React.Component {
  render() {
    return (
      <>
        <td>Hello</td>
        <td>World</td>
      </>
    );
  }
}

key가 있는 Fragments

리스트 컴포넌트 하위에 fragments가 존재 해야하는 상황에서는key 속성을 지정해주자. fragments의 유일한 속성은 key이다

function Glossary(props) {
  return (
    <dl>
      {props.items.map(item => (
        // React는 `key`가 없으면 key warning을 발생합니다.
        <React.Fragment key={item.id}>
          <dt>{item.term}</dt>
          <dd>{item.description}</dd>
        </React.Fragment>
      ))}
    </dl>
  );
}

0개의 댓글