freeCodeCamp/guide/portuguese/react/fragments/index.md

1.9 KiB

title localeTitle
Fragments Fragmentos

Fragmentos

Fragmentos são formas de renderizar vários elementos sem usar um elemento wrapper. Ao tentar renderizar elementos sem uma tag delimitadora no JSX, você verá a mensagem de erro Adjacent JSX elements must be wrapped in an enclosing tag . Isso ocorre porque, quando o JSX transpela, está criando elementos com seus nomes de tag correspondentes e não sabe qual nome de tag deve ser usado se vários elementos forem encontrados. No passado, uma solução frequente para isso era usar um wrapper para resolver esse problema. No entanto, a versão 16 do React trouxe a adição do Fragment , o que torna isso desnecessário.

Fragment age como um wrapper sem adicionar divs desnecessários ao DOM. Você pode usá-lo diretamente da importação do React ou desconstruí-lo:

import React from 'react'; 
 
 class MyComponent extends React.Component { 
  render(){ 
    return ( 
      <React.Fragment> 
        <div>I am an element!</div> 
        <button>I am another element</button> 
      </React.Fragment> 
    ); 
  } 
 } 
 
 export default MyComponent; 
// Deconstructed 
 import React, { Component, Fragment } from 'react'; 
 
 class MyComponent extends Component { 
  render(){ 
    return ( 
      <Fragment> 
        <div>I am an element!</div> 
        <button>I am another element</button> 
      </Fragment> 
    ); 
  } 
 } 
 
 export default MyComponent; 

A versão 16.2 do React simplificou ainda mais esse processo, permitindo que tags JSX vazias sejam interpretadas como Fragmentos:

return ( 
  <> 
    <div>I am an element!</div> 
    <button>I am another element</button> 
  </> 
 ); 

Mais Informações: