1
resposta

[Dúvida] Qual a diferença entre classes e componentes funcionais no react?

Qual a diferença entre classes e componentes funcionais no react?

1 resposta

Oi, Gabriel! Como vai?

No React, a principal diferença entre componentes de classe e componentes funcionais está na forma como são definidos e no uso do estado e dos efeitos colaterais.

Componentes de classe são definidos utilizando a sintaxe de classe do JavaScript e requerem o uso de métodos como render(), além de serem mais verbosos. Eles também usam o método this para acessar o estado e outros recursos do componente.

Montei dois exemplos, da uma olhada:

class MeuComponente extends React.Component {
  constructor(props) {
    super(props);
    this.state = { contador: 0 };
  }

  render() {
    return (
      <div>
        <p>Contador: {this.state.contador}</p>
        <button onClick={() => this.setState({ contador: this.state.contador + 1 })}>
          Incrementar
        </button>
      </div>
    );
  }
}

Componentes funcionais, por outro lado, são mais simples e são usados com Hooks para gerenciar o estado e os efeitos colaterais. Com a chegada dos Hooks, a funcionalidade dos componentes de classe foi sendo incorporada aos componentes funcionais, e acabou "caindo no gosto da galera" rs, e ficou bem popular.

Por exemplo:

import { useState } from 'react';

function MeuComponente() {
  const [contador, setContador] = useState(0);

  return (
    <div>
      <p>Contador: {contador}</p>
      <button onClick={() => setContador(contador + 1)}>
        Incrementar
      </button>
    </div>
  );
}

Os componentes funcionais são mais leves e recomendados para novos projetos, enquanto os componentes de classe ainda são suportados, mas com menos uso.

Para fins de testes

Espero ter ajudado! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!