We want to hear from you!Take our 2021 Community Survey!
This site is no longer updated.Go to react.dev

Фрагменти

These docs are old and won’t be updated. Go to react.dev for the new React docs.

These new documentation pages teach modern React:

Повернення кількох елементів з компонента є поширеною практикою в React. Фрагменти дозволяють формувати список дочірніх елементів, не створюючи зайвих вузлів в DOM.

render() {
  return (
    <React.Fragment>
      <ChildA />
      <ChildB />
      <ChildC />
    </React.Fragment>
  );
}

Також існує скорочений запис.

Мотивація

Повернення списку дочірніх елементів з компонента є поширеною практикою. Розглянемо приклад на React:

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

<Columns /> повинен повернути кілька елементів <td>, щоб HTML вийшов валідним. Якщо використовувати div як батьківський елемент всередині методу render() компонента <Columns />, то HTML виявиться невалідним.

class Columns extends React.Component {
  render() {
    return (
      <div>
        <td>Привіт</td>
        <td>Світe</td>
      </div>
    );
  }
}

Результатом виводу <Table /> буде:

<table>
  <tr>
    <div>
      <td>Привіт</td>
      <td>Світe</td>
    </div>
  </tr>
</table>

Фрагменти вирішують цю проблему.

Використання

class Columns extends React.Component {
  render() {
    return (
      <React.Fragment>        <td>Привіт</td>
        <td>Світe</td>
      </React.Fragment>    );
  }
}

Результатом буде правильний вивід <Table />: