React JS — Entendendo o estado em profundidade

May 01 2023
React JS é uma biblioteca JavaScript popular usada para construir interfaces de usuário. Um dos principais recursos do React é a capacidade de gerenciar o estado, essencial para a criação de interfaces de usuário dinâmicas e interativas.

React JS é uma biblioteca JavaScript popular usada para construir interfaces de usuário. Um dos principais recursos do React é a capacidade de gerenciar o estado, essencial para a criação de interfaces de usuário dinâmicas e interativas. Neste artigo, vamos mergulhar no conceito de estado no React e explorar como ele pode ser usado em exemplos do mundo real.

O que é Estado?

State é um objeto que representa o estado atual de um componente em um aplicativo React. Pode ser pensado como um instantâneo do componente em um determinado momento no tempo. O estado pode ser alterado pelo próprio componente, geralmente em resposta à entrada do usuário ou algum outro evento.

O estado é um conceito importante no React porque permite que os componentes sejam dinâmicos e interativos. Por exemplo, um componente pode usar o estado para atualizar o conteúdo de um campo de formulário em tempo real conforme o usuário digita ou para mostrar ou ocultar um menu com base no estado atual do aplicativo.

Criando e atualizando o estado

O estado é criado e atualizado usando o useStategancho no React. Esse gancho recebe um valor de estado inicial como seu argumento e retorna uma matriz contendo o valor do estado atual e uma função para atualizar o estado.

Aqui está um exemplo de uso useStatepara criar um componente de contador simples:

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  const increment = () => {
    setCount(count + 1);
  };

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
}

Na instrução return, renderizamos o valor atual da countvariável de estado dentro de um elemento de parágrafo, juntamente com um botão que chama a incrementfunção quando clicado.

Quando o usuário clica no botão, a incrementfunção é chamada, que atualiza o countestado e aciona uma nova renderização do componente com o novo valor.

Usando o estado na renderização condicional

State também pode ser usado para controlar a renderização de componentes com base em alguma condição. Por exemplo, você pode usar o estado para mostrar ou ocultar um menu com base no fato de o usuário estar conectado ou não.

Aqui está um exemplo de uso de estado para renderização condicional:

import React, { useState } from 'react';

function Menu() {
  const [loggedIn, setLoggedIn] = useState(false);

  const login = () => {
    setLoggedIn(true);
  };

  return (
    <div>
      {loggedIn ? (
        <ul>
          <li>Home</li>
          <li>About</li>
          <li>Contact</li>
        </ul>
      ) : (
        <button onClick={login}>Log in</button>
      )}
    </div>
  );
}

Na instrução return, usamos um operador ternário para renderizar condicionalmente uma lista de itens de menu ou um botão de login com base no valor atual do loggedInestado.

Quando o usuário clica no botão de login, a loginfunção é chamada, que atualiza o loggedInestado e aciona uma nova renderização do componente com o novo valor.

Usando o estado na entrada do formulário

O estado também pode ser usado para gerenciar os valores das entradas do formulário em tempo real conforme o usuário digita. Por exemplo, você pode usar o estado para atualizar o conteúdo de um campo de entrada de pesquisa conforme o usuário digita ou para validar a entrada e exibir mensagens de erro, se necessário.

Aqui está um exemplo de uso de estado para gerenciar uma entrada de formulário:

import React, { useState } from 'react';

function Form() {
  const [searchTerm, setSearchTerm] = useState('');

  const handleSearch = (e) => {
    setSearchTerm(e.target.value);
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    // Handle form submission here
  };

  return (
    <form onSubmit={handleSubmit}>
      <label>
        Search:
        <input type="text" value={searchTerm} onChange={handleSearch} />
      </label>
      <button type="submit">Submit</button>
    </form>
  );
}

Na instrução return, renderizamos um formulário com um campo de entrada de pesquisa e um botão de envio. Definimos o valor do campo de entrada de pesquisa para o valor atual da searchTermvariável de estado e anexamos um onChangemanipulador de eventos para atualizar o estado em tempo real conforme o usuário digita.

Quando o usuário envia o formulário, a handleSubmitfunção é chamada, o que evita o comportamento padrão de envio do formulário e permite que você lide com o envio do formulário como quiser.

Conclusão

Em conclusão, o estado é um recurso poderoso do React que permite criar interfaces de usuário dinâmicas e interativas. Ao usar o useStategancho, você pode criar e atualizar variáveis ​​de estado em um componente, que podem ser usadas para controlar a renderização de outros componentes, gerenciar entradas de formulário e muito mais.

Embora os exemplos neste artigo sejam relativamente simples, as possibilidades de usar o estado em aplicativos mais complexos são virtualmente ilimitadas. Ao dominar o conceito de estado no React, você pode levar suas habilidades de desenvolvimento de interface do usuário para o próximo nível e criar experiências de usuário verdadeiramente dinâmicas e envolventes.

Obrigado por ler!

Espero que você tenha achado este artigo útil. Se você tiver alguma dúvida ou sugestão, por favor, deixe comentários. Seu feedback me ajuda a melhorar.

Não esqueça de se inscrever⭐️

Página do Facebook :https://www.facebook.com/designTechWorld1

Página do Instagram :https://www.instagram.com/techd.esign/

Canal do Youtube :https://www.youtube.com/@tech..Design/

Twitter :https://twitter.com/sumit_singh2311

Engrenagem usada :

Portátil :https://amzn.to/3yKkzaC

Assistir:https://amzn.to/41cialm

Você pode preferir o React Book: https://amzn.to/3Tw29nx

Alguns livros extras relacionados à linguagem de programação:

https://amzn.to/3z3tW5s

https://amzn.to/40n4m6O

https://amzn.to/3Jzstse

https://amzn.to/3nbl8aE

* Isenção de responsabilidade importante — “Amazon e o logotipo da Amazon são marcas registradas da Amazon.com, Inc. ou de suas afiliadas.”