Как известно, любой компонент React должен содержать только один корневой элемент. В некоторых случаях это неудобно, например, в случае с таблицей, нам бы хотелось иметь компонент, содержащий только ячейки таблицы, но тогда их придется "обернуть" в блок:

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

Где компонент Column:

class Columns extends React.Component {
  render() {
    return (
      <div> {/* необходимый корневой элемент */}
        <td>Hello</td>
        <td>World</td>
      </div>
    );
  }
}

В результате получаем не совсем то, что нужно.

<table>
  <tr>
    <div>
      <td>Hello</td>
      <td>World</td>
    </div>
  </tr>
</table>

Для решения этой задачи разработан общий шаблон (common pattern) React Fragments, который позволяет добавлять в компонент группу дочерних элементов без корневого элемента. Использование React Fragments:

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

Существует также короткий синтакс:

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

Для вывода элементов массива, например при помощи функции map, содержащих React Frragment можно использовать ключи:

function Glossary(props) {
  return (
    <dl>
      {props.items.map(item => (
        // Без ключа `key`, React выдает предупреждение
        <React.Fragment key={item.id}>
          <dt>{item.term}</dt>
          <dd>{item.description}</dd>
        </React.Fragment>
      ))}
    </dl>
  );
}