Variáveis, Constantes, Estados e Estruturas de Decisão no React: Conceitos e Prática
- Home
- Variáveis, Constantes, Estados e Estruturas de Decisão no React: Conceitos e Prática
- Javascript, React
- Variáveis, Constantes, Estados e Estruturas de Decisão no React: Conceitos e Prática
Variáveis, Constantes, Estados e Estruturas de Decisão no React: Conceitos e Prática
Entenda como trabalhar com variáveis, constantes, estados e estruturas de decisão no React, e veja como cada um impacta a reatividade da sua aplicação
No React, trabalhar com dados de maneira organizada e eficiente é uma habilidade essencial. Variáveis, constantes e estados são conceitos fundamentais que permitem armazenar e manipular informações na aplicação. Além disso, o React utiliza estruturas de decisão para que você possa condicionar a exibição de componentes e comportamentos com base em valores dinâmicos.
Este artigo abordará:
- Como declarar variáveis e constantes no contexto do React
- O conceito e a utilização de estados com o hook
useState
- Estruturas de decisão (
if
,else
,switch
) aplicadas ao React - Exercícios práticos para consolidar o aprendizado
1. Variáveis e Constantes no React
Em React, variáveis e constantes são declaradas usando let
e const
, conforme o padrão ES6 do JavaScript. A escolha entre uma ou outra depende de como você planeja utilizá-las.
let
: Cria uma variável cujo valor pode ser alterado posteriormente. Usada quando você precisa de valores mutáveis, mas que não sejam persistentes no estado.const
: Define uma constante cujo valor não pode ser alterado. É ideal para valores que não devem mudar.
Exemplos de Declaração:
// Declaração de uma variável que pode mudar
let nomeUsuario = "João";
// Declaração de uma constante que não muda
const saudacao = "Bem-vindo";
No React, essas variáveis e constantes são usadas para valores que não precisam causar uma re-renderização do componente. Por exemplo, você pode definir uma variável ou constante para armazenar dados temporários.
Exemplo Prático em um Componente:
import React from 'react';
function Saudacao() {
const saudacao = "Olá";
let nome = "Alice";
return (
<div>
<h1>{saudacao}, {nome}!</h1>
</div>
);
}
export default Saudacao;
2. Estados no React
Em React, o estado (state) é uma forma de armazenar e manipular dados que afetam a renderização do componente. O hook useState
é utilizado para definir estados em componentes funcionais.
Declarando um Estado com useState
O useState
retorna um par: o valor atual do estado e uma função que permite atualizá-lo. Veja como é feito:
import React, { useState } from 'react';
function Contador() {
const [contador, setContador] = useState(0); // Inicializa contador com 0
return (
<div>
<p>Contador: {contador}</p>
<button onClick={() => setContador(contador + 1)}>Incrementar</button>
</div>
);
}
export default Contador;
Neste exemplo:
contador
é o valor do estado.setContador
é a função que atualiza o valor do estado.
Ao clicar no botão, setContador
atualiza o estado, o que causa a re-renderização do componente com o novo valor.
3. Estruturas de Decisão no React
Estruturas de decisão, como if
e switch
, são usadas em React para condicionar o comportamento e a renderização de componentes com base em valores ou estados.
Usando if
e else
Para renderizar condicionalmente no JSX, utilize if
fora do retorno ou operadores ternários dentro do JSX.
import React, { useState } from 'react';
function SaudacaoCondicional() {
const [isLoggedIn, setIsLoggedIn] = useState(true);
if (isLoggedIn) {
return <h1>Bem-vindo, usuário!</h1>;
} else {
return <h1>Por favor, faça login.</h1>;
}
}
export default SaudacaoCondicional;
Usando o Operador Ternário
O operador ternário é uma forma concisa de aplicar condições no JSX:
function SaudacaoCondicional() {
const [isLoggedIn, setIsLoggedIn] = useState(true);
return (
<div>
{isLoggedIn ? <h1>Bem-vindo, usuário!</h1> : <h1>Por favor, faça login.</h1>}
</div>
);
}
Usando switch
para Condições Complexas
Para múltiplas condições, o switch
pode ser útil:
function Pagina() {
const [pagina, setPagina] = useState("home");
function renderizarPagina() {
switch (pagina) {
case "home":
return <h1>Página Inicial</h1>;
case "about":
return <h1>Sobre Nós</h1>;
case "contact":
return <h1>Contato</h1>;
default:
return <h1>Página não encontrada</h1>;
}
}
return <div>{renderizarPagina()}</div>;
}
4. Exercícios Práticos
Abaixo estão alguns exercícios práticos para aplicar os conceitos de variáveis, constantes, estados e estruturas de decisão em React.
Exercício 1: Incrementador e Decrementador de Contador
- Crie um componente chamado
ContadorAvancado
. - No estado, inicialize o valor do contador em
0
. - Adicione dois botões: um para incrementar e outro para decrementar o valor do contador.
- Use uma estrutura de decisão para evitar que o contador fique abaixo de
0
.
Exemplo de Comportamento Esperado:
import React, { useState } from 'react';
function ContadorAvancado() {
const [contador, setContador] = useState(0);
function incrementar() {
setContador(contador + 1);
}
function decrementar() {
if (contador > 0) {
setContador(contador - 1);
}
}
return (
<div>
<p>Contador: {contador}</p>
<button onClick={incrementar}>Incrementar</button>
<button onClick={decrementar}>Decrementar</button>
</div>
);
}
export default ContadorAvancado;
Exercício 2: Exibição Condicional de Mensagem
- Crie um componente chamado
MensagemCondicional
. - Crie uma variável
isAdmin
e defina-a comotrue
oufalse
. - Use uma estrutura condicional para exibir “Bem-vindo, Administrador!” se
isAdmin
fortrue
, e “Bem-vindo, Usuário!” caso contrário.
import React from 'react';
function MensagemCondicional() {
const isAdmin = true;
return (
<div>
{isAdmin ? <h1>Bem-vindo, Administrador!</h1> : <h1>Bem-vindo, Usuário!</h1>}
</div>
);
}
export default MensagemCondicional;
Exercício 3: Mudança de Páginas com useState
e switch
- Crie um componente chamado
MenuDeNavegacao
. - Defina uma lista de páginas (
home
,sobre
,contato
) e configure o estado inicial comohome
. - Crie botões para cada página e use um
switch
para renderizar o conteúdo correto com base na página selecionada.
import React, { useState } from 'react';
function MenuDeNavegacao() {
const [pagina, setPagina] = useState("home");
function renderizarPagina() {
switch (pagina) {
case "home":
return <h1>Página Inicial</h1>;
case "sobre":
return <h1>Sobre Nós</h1>;
case "contato":
return <h1>Contato</h1>;
default:
return <h1>Página não encontrada</h1>;
}
}
return (
<div>
<button onClick={() => setPagina("home")}>Home</button>
<button onClick={() => setPagina("sobre")}>Sobre</button>
<button onClick={() => setPagina("contato")}>Contato</button>
{renderizarPagina()}
</div>
);
}
export default MenuDeNavegacao;
Conclusão
Neste post, exploramos os fundamentos de variáveis, constantes, estados e estruturas de decisão em React. Essas ferramentas são essenciais para manipular e exibir dados de forma dinâmica na interface. Ao praticar com os exercícios fornecidos, você conseguirá aprimorar ainda mais suas habilidades, criando interfaces interativas e dinâmicas.
A prática constante é a chave para o domínio do React. Experimente adaptar os exercícios com suas próprias ideias e explorar outras formas de utilizar os conceitos discutidos!
Deixe seu comentário
Posts RELACIONADOS
Guia Completo para Instalar React Bootstrap e React Router em um Projeto React
Neste post, mostramos como instalar e configurar o React Bootstrap e o React Router em uma aplicação React. O React Bootstrap fornece componentes estilizados que...
Como Criar um Projeto React com Vite: Guia Completo e Rápido
O Vite é uma ferramenta poderosa que vem conquistando desenvolvedores pela sua velocidade e eficiência ao criar projetos frontend. Neste guia, você aprenderá como criar...
Introdução ao React: Como Iniciar Seu Primeiro Projeto
React é uma biblioteca JavaScript amplamente utilizada para a construção de interfaces de usuário dinâmicas e componentes reutilizáveis. Neste tutorial, você aprenderá os conceitos básicos...
Como Criar um Chat em Tempo Real com PHP e WebSockets
Neste tutorial, você aprenderá como criar um sistema de chat em tempo real utilizando WebSockets com PHP para o backend e HTML, CSS e JavaScript...