Quais as diferenças entre useRef e createRef no React JS
Neste artigo você aprenderá as diferenças entre useRef e createRef, recursos muito utilizados do React JS

Fala programador(a), beleza? Bora aprender mais sobre React JS!
O React proporciona uma série de recursos que facilitam a manipulação e o gerenciamento do DOM. Entre essas ferramentas, encontramos o useRef e o createRef.
Ambos são usados para acessar elementos do DOM de maneira direta, mas possuem características distintas e são recomendados para cenários específicos.
Neste artigo, vamos explorar as diferenças entre useRef e createRef no React, entendendo seus usos, benefícios e melhores práticas associadas.
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O que é createRef?
O createRef foi introduzido no React 16.3 e serve para criar referências a elementos do DOM ou a componentes de classe.
Ao criar uma referência com createRef, podemos acessar diretamente o elemento ou componente de classe a que ela se refere.
Exemplo com createRef:
import React, { Component } from 'react';
class MeuComponente extends Component {
constructor(props) {
super(props);
this.minhaRef = React.createRef();
}
componentDidMount() {
console.log(this.minhaRef.current);
}
render() {
return <div ref={this.minhaRef}>Olá, Mundo!</div>;
}
}
O que é useRef?
Com a introdução dos Hooks no React 16.8, veio o useRef. Assim como o createRef, ele pode ser usado para acessar elementos do DOM, mas também pode manter uma referência “mutável” a um valor que não dispara uma nova renderização ao ser alterado. Isso o torna bastante flexível.

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 →Exemplo com useRef:
import React, { useRef, useEffect } from 'react';
const MeuComponenteFuncional = () => {
const minhaRef = useRef(null);
useEffect(() => {
console.log(minhaRef.current);
}, []);
return <div ref={minhaRef}>Olá, Mundo!</div>;
}
Diferenças Chave entre useRef e createRef
1. Componentes de Classe vs Componentes Funcionais
createRef: Tradicionalmente usado com componentes de classe.useRef: Projetado para ser usado com componentes funcionais, embora também possa ser usado com classes.
2. Persistência de Referência
createRef: Cria uma nova referência em cada renderização.useRef: Mantém a mesma referência entre as renderizações.

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.3. Uso além do DOM
createRef: Principalmente usado para referenciar elementos do DOM ou componentes de classe.useRef: Pode ser usado para referenciar qualquer valor e não causa renderizações quando alterado.
Quando usar createRef ou useRef?
Apesar de suas diferenças, ambos têm seus lugares no ecossistema React:
- Use
createRefem componentes de classe onde você precisa de uma referência a um elemento do DOM ou componente de classe. - Use
useRefem componentes funcionais para os mesmos propósitos, ou quando você precisa manter uma referência a um valor sem disparar renderizações.
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
Entender as diferenças entre useRef e createRef é essencial para tomar decisões informadas sobre quando usar cada um no React.
Enquanto o createRef é tradicionalmente mais orientado para componentes de classe e cria uma nova referência em cada renderização, o useRef é a solução moderna para componentes funcionais, oferecendo mais flexibilidade ao manter referências a qualquer valor.
Ao escolher entre eles, considere o tipo de componente que você está usando e as necessidades específicas do seu caso de uso.
E, como sempre, consulte a documentação oficial do React e recursos confiáveis para se manter atualizado sobre as melhores práticas e novidades no mundo do React.
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 […]
