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

Töredékek

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:

Egy általános minta a React-ben, hogy egy komponens több elemet ad vissza. A töredékek segítenek gyermekek listáját csoportosítani anélkül, hogy új csomópontot adnál a DOM-hoz.

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

Létezik egy új rövid szintaxis is a deklarálásukhoz.

Motiváció

Komponensek esetében gyakori minta, hogy az gyermekek listájával térjen vissza. Vegyük példának ezt a React kódrészletet:

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

A <Columns />-nak több <td> elemet kell visszaadnia hogy a megjelenített HTML érvényes legyen. Ha egy szülő div-et használunk a <Columns /> komponens render() metódusában, akkor az eredményül kapott HTML érvénytelen lesz.

class Columns extends React.Component {
  render() {
    return (
      <div>
        <td>Helló</td>
        <td>Világ</td>
      </div>
    );
  }
}

a következő <Table /> kimenetet eredményezi:

<table>
  <tr>
    <div>
      <td>Helló</td>
      <td>Világ</td>
    </div>
  </tr>
</table>

A töredékek ezt a problémát oldják meg.

Használat

class Columns extends React.Component {
  render() {
    return (
      <React.Fragment>        <td>Helló</td>
        <td>Világ</td>
      </React.Fragment>    );
  }
}

ami a következő helyes <Table /> kimenetet eredményezi:

<table>
  <tr>
    <td>Helló</td>
    <td>Világ</td>
  </tr>
</table>

Rövid szintaxis

Van egy új, rövidebb szintaxis, amit a töredékek deklarálásához használhatsz. Úgy néz ki, mint az üres címkék:

class Columns extends React.Component {
  render() {
    return (
      <>        <td>Helló</td>
        <td>Világ</td>
      </>    );
  }
}

Ugyanúgy használhatod a <></>-t, mint ahogy más elemeket is, azzal a különbséggel, hogy ez nem támogatja a kulcsokat és az attribútumokat.

Kulcsot használó töredékek

A töredékek, amik a <React.Fragment> szintaxissal vannak deklarálva tartalmazhatnak kulcsokat. Ennek az egyik felhasználási módja egy kollekció leképezése töredékek tömbre — például egy leíráslista létrehozására:

function Glossary(props) {
  return (
    <dl>
      {props.items.map(item => (
        // 'key' nélkül a React figyelmeztetést fog dobni
        <React.Fragment key={item.id}>
          <dt>{item.term}</dt>
          <dd>{item.description}</dd>
        </React.Fragment>
      ))}
    </dl>
  );
}

A key az egyetlen olyan attribútum, amelyet át lehet adni egy Fragment-nek. A jövőben további attribútumok, például eseménykezelők is támogatást kaphatnak.

Élő demó

Ebben a CodePen-ben kipróbálhatod az új JSX töredék szintaxist.

Hasznos volt ez az oldal?Az oldal szerkesztése