Conteúdo do curso
Questionário
0/1
React.js: Entenda e Aplique o Ciclo de Vida
Sobre a Aula

Comparação entre Hooks e métodos de ciclo de vida em componentes de classe

 

Os métodos de ciclo de vida e os hooks são essenciais para gerenciar o comportamento dos componentes em React. Cada um tem suas vantagens e usos específicos.

Componentes de Classe

Em componentes de classe, usamos métodos de ciclo de vida para controlar diferentes fases do componente. Aqui estão alguns métodos principais:

  • componentDidMount(): Executado após o componente ser montado.
  • componentDidUpdate(): Executado após uma atualização.
  • componentWillUnmount(): Executado antes do componente ser desmontado.

Veja um exemplo básico:

class MyComponent extends React.Component {
  componentDidMount() {
    // Executa quando o componente monta
    console.log('Componente montado');
  }

  componentDidUpdate(prevProps) {
    // Executa após atualização
    console.log('Componente atualizado');
  }

  componentWillUnmount() {
    // Executa antes do componente desmontar
    console.log('Componente desmontado');
  }

  render() {
    return <div>Olá, mundo!</div>;
  }
}

Hooks

Com hooks, gerenciamos o ciclo de vida em componentes funcionais. Os principais hooks usados para esse propósito são:

  • useEffect(): Executa efeitos colaterais. Combina , e .componentDidMountcomponentDidUpdatecomponentWillUnmount

Aqui está um exemplo:

import React, { useEffect } from 'react';

function MyComponent() {
  useEffect(() => {
    // Executa quando o componente monta
    console.log('Componente montado');

    // Executa quando o componente desmonta
    return () => {
      console.log('Componente desmontado');
    };
  }, []); // Array vazio significa que executa apenas na montagem e desmontagem

  return <div>Olá, mundo!</div>;
}

Diferenças Chave

  1. Simplicidade: Hooks permitem usar funções ao invés de classes, resultando em um código mais limpo.
  2. Reuso de Lógica: Com hooks, podemos extrair e reutilizar a lógica do estado de maneira mais simples.
  3. Concisão: Hooks combinam múltiplos métodos de ciclo de vida em uma única função ().useEffect

Similaridades

  1. Funcionalidade: Ambos gerenciam estados e efeitos colaterais.
  2. Contexto: Ambos têm acesso ao contexto do componente.

Conclusão

Componentes de classe usam métodos de ciclo de vida, enquanto componentes funcionais utilizam hooks. Hooks são mais modernos e promovem um código mais conciso e reutilizável. No entanto, entender ambos é crucial para trabalhar efetivamente com React.

Entrar na conversa
Rolar para cima