useState Hook de estado

Última atualização: 2026-11-03

useState Hook de estado

O useState adiciona uma variável de estado a um componente de função: ele devolve o valor atual e uma função de atualização, e qualquer mudança re-renderiza o componente. Todos os dados de UI dirigidos por interação — inputs, alternadores, contadores — são gerenciados por ele.

GrupoRenderização e Estado
TipoHook
DesdeReact 16.8

ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.

📝 Sintaxe

const [count, setCount] = useState(0)
//    ↑ atual ↑ setter        ↑ valor inicial (apenas na primeira renderização)

⚙️ Parâmetros

initialStateEstado inicial. Usado como valor atual apenas na primeira renderização; ignorado depois.
setCount (setter)A função de atualização: passe um novo valor ou uma função que recebe o valor anterior; chamá-la agenda uma re-renderização.

Retorna:Devolve um array de dois elementos: [valor atual, setter]. Normalmente é desestruturado com nomes próprios; por convenção, os setters começam com "set".

▶ Exemplo

O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.

Saída:

Um título centralizado "Current count: 0" com três botões. O +1 incrementa, o -1 decrementa e o Reset volta para 0.

💡 Pontos-chave

💡 Dica Nomeie os setters com o prefixo set (setCount / setOpen) para que a intenção fique evidente à primeira vista.
⚠️ Aviso Alterar a variável de estado direto (count = 5) NÃO re-renderiza — chame sempre o setter.
ℹ️ Informação O valor inicial vale apenas para a primeira renderização; mudar essa expressão depois nunca reseta o estado.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

P Por que imprimir o estado logo depois da mudança ainda mostra o valor antigo?
R O setCount agenda a próxima renderização; ele não atribui na hora. O count no closure atual continua desatualizado — calcule a partir do valor anterior dentro da função de atualização.
P O valor inicial do useState pode ser uma função?
R Pode. Passar uma função significa inicialização preguiçosa — chamada uma única vez na primeira renderização, ideal quando o valor inicial é caro de calcular.
P Um componente pode usar o useState mais de uma vez?
R Pode — e é recomendado: separe as preocupações em estados distintos em vez de um objeto grande só.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%