1
resposta

Qual a necessidade de usar estado?

boa tarde pessoal,

e refiz o projeto para consolidar os conhecimentos, e os livros buscados no campo de busca aparecem na tela dinamicamente mesmo sem usar estado. So usando o evento.target.value ja da certo.

Qual a necessidade de usar estados? Não consegui pegar o conceito ainda.

1 resposta

Oi Raphael, tudo bem?

Desculpe a demora em retornar.

Primeiramente, parabéns por refazer o projeto para consolidar seus conhecimentos em React! É sempre importante praticar e entender bem os conceitos para poder aplicá-los de forma efetiva em projetos maiores.

Sobre sua pergunta, é importante entender que o estado é uma das principais ferramentas que o React disponibiliza para gerenciar o comportamento e a renderização dos componentes. Em resumo, o estado é um objeto que armazena dados que podem ser atualizados e refletidos na interface do usuário.

Ao utilizar o evento.target.value para exibir os livros buscados na tela dinamicamente, você está de fato alterando o conteúdo da página, mas de uma forma que não é sustentável em projetos maiores. Imagine que você tenha uma página com vários componentes que precisam ser atualizados dinamicamente, a cada interação do usuário. Sem utilizar o estado, seria necessário atualizar diretamente o DOM toda vez que uma mudança fosse feita, o que tornaria o código muito difícil de gerenciar e aumentaria consideravelmente a complexidade.

Com o uso do estado, no entanto, podemos atualizar os dados em um único lugar e deixar que o React cuide de atualizar o DOM para nós. Por exemplo, suponha que você tenha um componente de formulário que precise armazenar o nome, o email e a mensagem do usuário. Você poderia fazer algo assim:

import React, { useState } from 'react';

function ContatoForm() {
  const [nome, setNome] = useState('');
  const [email, setEmail] = useState('');
  const [mensagem, setMensagem] = useState('');

  function handleSubmit(event) {
    event.preventDefault();
    // Aqui você poderia enviar os dados do formulário para o servidor
  }

  return (
    <form onSubmit={handleSubmit}>
      <label htmlFor="nome">Nome:</label>
      <input type="text" id="nome" value={nome} onChange={event => setNome(event.target.value)} />

      <label htmlFor="email">Email:</label>
      <input type="email" id="email" value={email} onChange={event => setEmail(event.target.value)} />

      <label htmlFor="mensagem">Mensagem:</label>
      <textarea id="mensagem" value={mensagem} onChange={event => setMensagem(event.target.value)} />

      <button type="submit">Enviar</button>
    </form>
  );
}

Nesse exemplo, utilizamos o useState para criar três estados diferentes (nome, email e mensagem) e os conectamos aos inputs do formulário através do value e do onChange. A cada vez que um desses valores é alterado, o componente é renderizado novamente com os dados atualizados.

Assim, sempre que o usuário preencher o formulário, os dados serão armazenados em estados diferentes e poderão ser enviados para o servidor quando o botão de envio for clicado. Dessa forma, o React é responsável por atualizar a interface do usuário com as novas informações e mantém todo o código organizado e fácil de entender.

Em resumo, o uso do estado é fundamental em projetos React para gerenciar e atualizar dados de forma eficiente e sustentável. Embora seja possível fazer algumas coisas sem o uso do estado, como no exemplo que você mencionou, em projetos maiores e mais complexos o uso do estado se torna essencial para manter o código organizado e fácil de manter.

Esper