Pergunta de entrevista para Desenvolvedor React

Me explique as Actions do React 19 e como o useActionState se encaixa nisso.

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

Resposta rápida

Uma Action é uma função async que você entrega ao React, normalmente pela prop action de um form ou pelo startTransition. O React gerencia o estado de pendente, os erros e a ordenação em vez de você ligar flags booleanas na mão. O useActionState recebe uma action e um estado inicial e devolve o estado atual, uma action embrulhada para passar ao form, e uma flag isPending. O useFormStatus lê o estado de pendente a partir de um componente aninhado, e o useOptimistic renderiza o resultado esperado na hora.

Por que os entrevistadores perguntam isso

Isso diz ao entrevistador se você se manteve atualizado, já que as Actions substituem uma pilha de boilerplate que a maioria das bases de código React ainda carrega. Ele quer ver que você entende que o tratamento de pendente e de erro vem da maquinaria de transições, e que você consegue explicar updates otimistas e como eles são revertidos. Também é um bom indicador de se você entregou mutações no servidor recentemente.

Como estruturar sua resposta

  • Defina uma Action como uma função async cujo ciclo de vida o React gerencia.
  • Explique o que o useActionState devolve e para onde vai cada peça.
  • Acrescente useFormStatus e useOptimistic e o que eles resolvem.
  • Contraste com o estado manual de loading e erro que você escrevia antes.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Antes das Actions, toda mutação significava as mesmas quatro peças de estado: loading, erro, o resultado, e alguma coisa para impedir envio duplicado. As Actions dobram tudo isso dentro do React. Eu escrevo uma função async que faz o trabalho, entrego ela ao useActionState com um estado inicial, e recebo de volta o estado atual, uma action para colocar na prop action do form, e o isPending. O React roda ela dentro de uma transição, então a flag de pendente e a ordenação vêm de graça, e se dois envios correrem juntos, vence o resultado do mais recente e não o da chamada de rede que voltar por último. Para um botão de submit lá no fundo do formulário eu uso o useFormStatus, assim ele lê o pendente sem prop drilling. E para algo como uma caixa de comentários eu adiciono o useOptimistic para mostrar o comentário na hora, e se a action lançar erro, o React reverte o estado otimista para o estado real sozinho. A vitória prática é que um componente de formulário cai de umas setenta linhas para vinte e os casos de borda deixam de ser problema meu para lembrar.

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

  • O que acontece com o estado otimista se a action falhar?
  • Como você leva um erro de validação de volta para o formulário a partir de uma action?
  • Como as Actions se comportam antes da hidratação terminar?

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