Como pegar a altura da janela em React JS
Neste artigo você aprender a como pegar a altura da janela em React JS, para realizar alguma modificação dependendo do tamanho

Fala programador(a), beleza? Bora aprender mais sobre React JS!
Em projetos de desenvolvimento web, frequentemente nos deparamos com a necessidade de obter as dimensões da janela do navegador, como sua largura e altura.
Isso pode ser crucial para ajustes responsivos, animações, posicionamento de elementos entre outras funcionalidades.
Com a crescente popularidade do React JS, a pergunta é: como podemos pegar a altura da janela usando essa biblioteca?
Neste artigo exploraremos uma abordagem moderna e otimizada para pegar a altura da janela em um componente funcional do React JS.
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
A API de Janela
Antes de nos aprofundarmos no React, é fundamental compreender que o objeto global window no JavaScript nos fornece acesso às dimensões da janela através das propriedades window.innerHeight e window.innerWidth.
A Abordagem React
A beleza do React é que ele nos permite encapsular essa lógica dentro de componentes, proporcionando um melhor gerenciamento e reatividade das propriedades da janela.
Pegando a Altura da Janela
Vamos criar um componente funcional que exibe a altura da janela:
import React, { useState, useEffect } from 'react';
function MostrarAltura() {
const [alturaJanela, setAlturaJanela] = useState(window.innerHeight);
useEffect(() => {
const handleResize = () => {
setAlturaJanela(window.innerHeight);
};
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, []);
return <p>A altura da janela é: {alturaJanela}px</p>;
}

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Neste exemplo, começamos definindo o estado inicial da altura da janela com window.innerHeight.
Em seguida, usamos o hook useEffect para adicionar um event listener que detecta qualquer mudança no tamanho da janela.
Sempre que a janela é redimensionada, atualizamos o estado com a nova altura. Para evitar vazamentos de memória, removemos o event listener quando o componente é desmontado.
Otimizando com Custom Hooks
Se quisermos reutilizar a lógica de detectar mudanças na altura da janela em diferentes partes do nosso aplicativo, podemos criar um custom hook:
import { useState, useEffect } from 'react';
function useAlturaJanela() {
const [altura, setAltura] = useState(window.innerHeight);
useEffect(() => {
const handleResize = () => {
setAltura(window.innerHeight);
};
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, []);
return altura;
}
// Uso:
function ComponenteExemplo() {
const alturaJanela = useAlturaJanela();
return <p>A altura da janela é: {alturaJanela}px</p>;
}

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Ao encapsular essa lógica em useAlturaJanela, tornamos nosso código mais modular e reutilizável, seguindo os princípios do React de composição e reusabilidade.
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
Obter a altura da janela em React JS é uma tarefa relativamente simples, mas, com as práticas e ferramentas certas, podemos otimizar essa lógica para torná-la mais eficiente e reutilizável em nossos projetos.
A abordagem moderna usando hooks como useState e useEffect nos permite criar soluções reativas e otimizadas.
Além disso, o conceito de custom hooks no React eleva essa abordagem a um novo nível, permitindo-nos criar lógicas encapsuladas que podem ser facilmente compartilhadas e reutilizadas em toda a nossa aplicação.
Assim, sempre que se deparar com a necessidade de trabalhar com dimensões da janela ou outras propriedades globais do navegador em React, lembre-se de utilizar hooks e, se possível, encapsular sua lógica em custom hooks para maximizar a eficiência e a reusabilidade do seu código.
Está buscando em evoluir como Programador? Confira o nossos cursos de programação.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como adicionar parametros no redirect com React Router
Neste artigo você aprenderá a como adicionar parametros no redirect com React Router, para redirecionar o usuário com algum valor Fala programador(a), beleza? Bora aprender […]

Curso de React do zero ao avançado completo com certificado
No curso de React do básico a avançado completo com certificado você vai aprender a criar projetos completos com React, utilizando tecnologias em alta no […]

Como renderizar HTML puro em React JS
Neste artigo você aprenderá a como renderizar HTML puro em React, ou seja, como mostrar código HTML pelo JSX Fala programador(a), bora aprender mais sobre […]
