React.js: Criando Componentes Funcionais com Hooks

React.js: Criando Componentes Funcionais com Hooks

“`html

Introdução

O React.js tem se destacado como uma das bibliotecas mais populares para o desenvolvimento de interfaces de usuário. Com sua abordagem baseada em componentes, permite que desenvolvedores criem aplicações de forma modular e eficiente. Neste artigo, vamos explorar a criação de componentes funcionais utilizando Hooks, uma abordagem que simplifica o gerenciamento de estado e efeitos colaterais, tornando o desenvolvimento mais intuitivo e prazeroso.

Contexto ou Teoria

Introduzido na versão 16.8 do React, os Hooks proporcionam uma nova maneira de trabalhar com estado e ciclos de vida em componentes funcionais. Antes da introdução dos Hooks, o gerenciamento de estado era feito principalmente em componentes de classe. Os Hooks permitem que você utilize o estado e outras funcionalidades do React sem a necessidade de escrever uma classe.

Os dois Hooks mais utilizados são o useState, que permite adicionar estado local a componentes funcionais, e o useEffect, que permite executar efeitos colaterais, como chamadas de API ou manipulações do DOM, após a renderização do componente.

Demonstrações Práticas

Vamos criar um exemplo prático de um contador simples utilizando componentes funcionais e Hooks.


import React, { useState } from 'react';

const Contador = () => {
  // Declara uma nova variável de estado chamada "contador", iniciando em 0
  const [contador, setContador] = useState(0);

  // Função para incrementar o contador
  const incrementar = () => {
    setContador(contador + 1);
  };

  // Função para decrementar o contador
  const decrementar = () => {
    setContador(contador - 1);
  };

  return (
    

Contador: {contador}

); }; export default Contador;

Neste exemplo, criamos um componente funcional chamado Contador. Usamos o Hook useState para criar uma variável de estado chamada contador. As funções incrementar e decrementar atualizam o estado quando os botões são clicados. O estado é automaticamente re-renderizado na interface do usuário.

Agora, vamos adicionar um efeito colateral ao nosso componente, utilizando o Hook useEffect para registrar uma mensagem sempre que o contador for atualizado.


import React, { useState, useEffect } from 'react';

const Contador = () => {
  const [contador, setContador] = useState(0);

  const incrementar = () => {
    setContador(contador + 1);
  };

  const decrementar = () => {
    setContador(contador - 1);
  };

  // Efeito colateral que roda sempre que "contador" é atualizado
  useEffect(() => {
    console.log(`O contador foi atualizado: ${contador}`);
  }, [contador]); // Dependência do contador

  return (
    

Contador: {contador}

); }; export default Contador;

Neste código, o useEffect é utilizado para registrar uma mensagem no console sempre que o valor de contador é alterado. O segundo argumento do useEffect é um array de dependências, que informa ao React que o efeito deve ser executado sempre que o valor de contador muda.

Dicas ou Boas Práticas

  • Utilize nomes descritivos para suas funções e variáveis de estado, facilitando a leitura e a manutenção do código.
  • Evite efeitos colaterais complexos dentro do useEffect. Mantenha o código simples e dividido em partes menores sempre que possível.
  • Utilize o Hook useCallback para memoizar funções que são passadas para componentes filhos, evitando re-renderizações desnecessárias.
  • Quando lidar com arrays ou objetos no estado, considere usar o operador de espalhamento (...) para garantir que você não mutile o estado anterior acidentalmente.
  • Crie custom Hooks para encapsular lógica reutilizável em sua aplicação, tornando seu código mais limpo e modular.

Conclusão com Incentivo à Aplicação

A criação de componentes funcionais com Hooks é uma maneira poderosa e simplificada de construir interfaces no React. Ao dominar o uso do useState e useEffect, você estará mais preparado para desenvolver aplicações modernas e reativas. Experimente criar seus próprios componentes e explore a documentação do React para aprender sobre outros Hooks disponíveis, como useContext e useReducer.

Está desenvolvendo um projeto digital e precisa de um site moderno, performático e bem estruturado?
Eu posso te ajudar a transformar essa ideia em uma solução completa — com foco em performance, design e funcionalidade.
Acesse yurideveloper.com.br ou chame no WhatsApp: (37) 99670-7290. Vamos criar algo incrível juntos!

“`

Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *