Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Gerenciamento de Estado com o Hook useState | React Hooks e Context para Gerenciamento de Estado
Domínio do React

bookGerenciamento de Estado com o Hook useState

O hook useState é um hook fundamental do React que permite que componentes funcionais tenham um estado. Ele fornece uma maneira de declarar e atualizar variáveis de estado dentro de um componente.

Sintaxe:

Para utilizar o hook useState, deve-se chamá-lo e passar o estado inicial (initialState) como argumento. Ele retorna um array com dois elementos: o valor atual do estado (state) e uma função (setState) para atualizar o estado.

const [state, setState] = useState(initialState);
  • É possível escolher qualquer palavra como nome para a variável de state. Recomenda-se utilizar um nome de variável que descreva com precisão qual estado está sendo armazenado ou atualizado, como inputValue, page, number, name, entre outros;

  • Da mesma forma, ao utilizar a função setState, há flexibilidade na escolha do nome da função. No entanto, seguir um padrão específico é uma convenção padrão: o nome da função setState deve começar com "set" seguido do nome da variável de estado correspondente. Por exemplo, se a variável de state for mail, a função setState correspondente normalmente será chamada de setMail.

Note

Ao chamar setState, o React faz o re-render do componente e atualiza o estado com o novo valor. É importante observar que, ao utilizar useState, a variável de estado não precisa ser um objeto. Ela pode ser um valor primitivo (como número, string ou booleano) ou um valor complexo (como array ou objeto).

Exemplo 1:

Vamos construir o componente Counter, que irá manter seu próprio estado. Quando o botão Incrementar for clicado, atualizaremos o estado e acionaremos uma nova renderização do componente.

import React, { useState } from "react";

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

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

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

Neste exemplo, o hook useState é utilizado para declarar uma variável de estado count com valor inicial 0. A função setCount é usada para atualizar a variável count sempre que o botão for clicado.

Explicação linha por linha:

  • Linha 1: Importação do hook useState da biblioteca React para utilizar sua funcionalidade;
  • Linha 3: Definição do componente Counter utilizando a sintaxe convencional de função;
  • Linha 4: Inicialização do estado utilizando o hook useState;
  1. count representa o valor do contador. Seu valor inicial é 0, especificado dentro dos parênteses de useState(0);
  2. setCount é a função que atualiza o estado quando necessário.
  • Linhas 6-8: Esta função arrow do JavaScript lida com a lógica de atualização do estado. Ela é executada quando o botão "incrementar" é clicado. Dentro da função, utilizamos a função setCount para atualizar o estado;
  • Linhas 10-15: Renderiza a marcação do componente. Na linha 12, o valor atual do estado (count) é exibido. O botão na linha 13 utiliza o atributo onClick para definir a função a ser executada ao ser clicado. Neste caso, passamos a função increment.

Código completo do aplicativo:

Exemplo 2:

Vamos construir o componente Form com seu estado independente. Solicitamos ao usuário que insira seu nome no campo de entrada e, dependendo do que for digitado, modificamos o conteúdo exibido.

import React, { useState } from "react";

const Form = () => {
  const [userName, setUserName] = useState("");

  const handleChange = (event) => {
    const inputValue = event.target.value;
    setUserName(inputValue);
  };

  return (
    <div>
      <input
        type="text"
        value={userName}
        onChange={handleChange}
        placeholder="Your name"
      />
      <p>Hello, {userName}!</p>
    </div>
  );
};

Neste exemplo, o hook useState é utilizado para declarar uma variável de estado userName com valor inicial de string vazia. A função setUserName atualiza a variável userName sempre que necessário.

Explicação linha por linha:

  • Linha 1: Importação do hook useState da biblioteca React para utilizar sua funcionalidade;
  • Linha 3: Definição do componente Form utilizando a sintaxe padrão de função;
  • Linha 4: Definição do estado inicial utilizando o hook useState;
  1. userName representa o valor do campo de entrada, inicialmente definido como uma string vazia (""), especificada dentro dos parênteses de useState("");
  2. setUserName é a função que permite atualizar o estado quando necessário.
  • Linhas 6-9: Esta função arrow do JavaScript lida com a lógica de atualização do estado. Ela é acionada quando o usuário digita algo no campo. O valor do campo é obtido dentro da função usando event.target.value. Em seguida, utiliza-se a função setUserName para atualizar o estado com o valor do campo de entrada;
  • Linhas 11-21: Renderização do markup do componente.
  1. Na linha 15, o valor inicial do campo de entrada é atribuído a userName utilizando o atributo value;
  2. Na linha 16, o atributo onChange é utilizado para especificar a função a ser chamada quando houver alteração no campo de entrada.

Código completo do aplicativo:

1. Qual das seguintes afirmações é verdadeira sobre o hook useState?

2. Qual é o propósito da função setState retornada pelo hook useState?

3. Como definir o valor inicial do estado ao usar o hook useState?

question mark

Qual das seguintes afirmações é verdadeira sobre o hook useState?

Select the correct answer

question mark

Qual é o propósito da função setState retornada pelo hook useState?

Select the correct answer

question mark

Como definir o valor inicial do estado ao usar o hook useState?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain how the useState hook works in more detail?

What are some common use cases for useState in React components?

Can you show how to use multiple useState hooks in a single component?

Awesome!

Completion rate improved to 2.17

bookGerenciamento de Estado com o Hook useState

Deslize para mostrar o menu

O hook useState é um hook fundamental do React que permite que componentes funcionais tenham um estado. Ele fornece uma maneira de declarar e atualizar variáveis de estado dentro de um componente.

Sintaxe:

Para utilizar o hook useState, deve-se chamá-lo e passar o estado inicial (initialState) como argumento. Ele retorna um array com dois elementos: o valor atual do estado (state) e uma função (setState) para atualizar o estado.

const [state, setState] = useState(initialState);
  • É possível escolher qualquer palavra como nome para a variável de state. Recomenda-se utilizar um nome de variável que descreva com precisão qual estado está sendo armazenado ou atualizado, como inputValue, page, number, name, entre outros;

  • Da mesma forma, ao utilizar a função setState, há flexibilidade na escolha do nome da função. No entanto, seguir um padrão específico é uma convenção padrão: o nome da função setState deve começar com "set" seguido do nome da variável de estado correspondente. Por exemplo, se a variável de state for mail, a função setState correspondente normalmente será chamada de setMail.

Note

Ao chamar setState, o React faz o re-render do componente e atualiza o estado com o novo valor. É importante observar que, ao utilizar useState, a variável de estado não precisa ser um objeto. Ela pode ser um valor primitivo (como número, string ou booleano) ou um valor complexo (como array ou objeto).

Exemplo 1:

Vamos construir o componente Counter, que irá manter seu próprio estado. Quando o botão Incrementar for clicado, atualizaremos o estado e acionaremos uma nova renderização do componente.

import React, { useState } from "react";

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

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

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

Neste exemplo, o hook useState é utilizado para declarar uma variável de estado count com valor inicial 0. A função setCount é usada para atualizar a variável count sempre que o botão for clicado.

Explicação linha por linha:

  • Linha 1: Importação do hook useState da biblioteca React para utilizar sua funcionalidade;
  • Linha 3: Definição do componente Counter utilizando a sintaxe convencional de função;
  • Linha 4: Inicialização do estado utilizando o hook useState;
  1. count representa o valor do contador. Seu valor inicial é 0, especificado dentro dos parênteses de useState(0);
  2. setCount é a função que atualiza o estado quando necessário.
  • Linhas 6-8: Esta função arrow do JavaScript lida com a lógica de atualização do estado. Ela é executada quando o botão "incrementar" é clicado. Dentro da função, utilizamos a função setCount para atualizar o estado;
  • Linhas 10-15: Renderiza a marcação do componente. Na linha 12, o valor atual do estado (count) é exibido. O botão na linha 13 utiliza o atributo onClick para definir a função a ser executada ao ser clicado. Neste caso, passamos a função increment.

Código completo do aplicativo:

Exemplo 2:

Vamos construir o componente Form com seu estado independente. Solicitamos ao usuário que insira seu nome no campo de entrada e, dependendo do que for digitado, modificamos o conteúdo exibido.

import React, { useState } from "react";

const Form = () => {
  const [userName, setUserName] = useState("");

  const handleChange = (event) => {
    const inputValue = event.target.value;
    setUserName(inputValue);
  };

  return (
    <div>
      <input
        type="text"
        value={userName}
        onChange={handleChange}
        placeholder="Your name"
      />
      <p>Hello, {userName}!</p>
    </div>
  );
};

Neste exemplo, o hook useState é utilizado para declarar uma variável de estado userName com valor inicial de string vazia. A função setUserName atualiza a variável userName sempre que necessário.

Explicação linha por linha:

  • Linha 1: Importação do hook useState da biblioteca React para utilizar sua funcionalidade;
  • Linha 3: Definição do componente Form utilizando a sintaxe padrão de função;
  • Linha 4: Definição do estado inicial utilizando o hook useState;
  1. userName representa o valor do campo de entrada, inicialmente definido como uma string vazia (""), especificada dentro dos parênteses de useState("");
  2. setUserName é a função que permite atualizar o estado quando necessário.
  • Linhas 6-9: Esta função arrow do JavaScript lida com a lógica de atualização do estado. Ela é acionada quando o usuário digita algo no campo. O valor do campo é obtido dentro da função usando event.target.value. Em seguida, utiliza-se a função setUserName para atualizar o estado com o valor do campo de entrada;
  • Linhas 11-21: Renderização do markup do componente.
  1. Na linha 15, o valor inicial do campo de entrada é atribuído a userName utilizando o atributo value;
  2. Na linha 16, o atributo onChange é utilizado para especificar a função a ser chamada quando houver alteração no campo de entrada.

Código completo do aplicativo:

1. Qual das seguintes afirmações é verdadeira sobre o hook useState?

2. Qual é o propósito da função setState retornada pelo hook useState?

3. Como definir o valor inicial do estado ao usar o hook useState?

question mark

Qual das seguintes afirmações é verdadeira sobre o hook useState?

Select the correct answer

question mark

Qual é o propósito da função setState retornada pelo hook useState?

Select the correct answer

question mark

Como definir o valor inicial do estado ao usar o hook useState?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2
some-alt