Pergunta de entrevista para Desenvolvedor React

Quando você usa useRef em vez de useState?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Use useRef quando você precisa de um valor mutável que sobrevive aos renders mas não pode causar um: um nó do DOM, o id de um timer, o valor anterior de uma prop, uma flag rastreando se algo já rodou. Use useState quando o valor deve aparecer na UI, porque escrever numa ref não agenda um render. A regra prática é simples: se a tela deve mudar, é estado.

Por que os entrevistadores perguntam isso

Essa é uma leitura rápida de se você entende o ciclo de render. O entrevistador quer ouvir primeiro a diferença de disparar render, depois instintos corretos sobre quando a ref é a ferramenta certa. Ele costuma emendar em ler ou escrever refs durante o render, que é onde candidatos que só usam refs para nós do DOM tropeçam, e onde a distinção entre mutável e renderizado importa.

Como estruturar sua resposta

  • Comece pela diferença que importa: refs não disparam renders.
  • Liste os três ou quatro usos legítimos de uma ref.
  • Dê a regra prática para escolher.
  • Mencione que refs não devem ser lidas nem escritas durante o render.

Exemplo de resposta

Exemplo falado, em primeira pessoa

A linha divisória é se mudar o valor deve repintar a tela. Estado repinta, ref não. Então a ref é onde eu coloco qualquer coisa que é contabilidade em vez de UI: o nó do DOM que eu preciso focar ou medir, um id de intervalo que eu tenho que limpar na desmontagem, o último valor de uma prop para eu comparar, uma flag de já fiz isso. O erro clássico é guardar algo numa ref e ficar se perguntando por que a UI nunca atualiza, e o espelho disso é colocar a posição de scroll no estado e re-renderizar a cada evento de scroll. Eu também mantenho a regra de não ler nem escrever refs durante o render, só em efeitos e event handlers, porque durante o render o React espera que a função seja pura e uma leitura de ref pode te dar valores diferentes entre passadas. Uma mudança boa no React 19 é que ref virou uma prop normal para componentes de função, então eu parei de embrulhar coisas em forwardRef.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você pegaria o valor anterior de uma prop?
  • Por que você não deve ler nem escrever uma ref durante o render?
  • Como você anexa uma ref a um componente filho no React 19?

Mais perguntas para Desenvolvedor React

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot