Siga essas dicas de ouro e destrua a performance com estilo.

Era uma sprint apertada, dessas que começam já com o relógio contra. O time corria, e o dev mais experiente assumiu a tarefa: “Deixa comigo, resolvo isso rápido com React.” Em poucas horas, tudo parecia pronto... a tela funcionava, os dados apareciam, os cliques respondiam. Mas então, aos poucos, o app começou a desacelerar. Pequenos travamentos, respostas lentas, scroll hesitante… ninguém entendia. O código estava limpo. O que poderia estar acontecendo?

Aqui vão 5 técnicas infalíveis para deixar seu app React mais lento que uma reunião que poderia ser um e-mail (qualquer semelhança com a realidade é mera coincidência).


1. Evite usar React.memo

Deixe seus componentes re-renderizarem o máximo possível. Especialmente os pesados. Nada como renderizar tudo novamente só porque uma prop mudou em outro canto da árvore.

// Claro que não!
const MeuComponente = React.memo(({ valor }) => {
  return <div>{valor}div>;
});

Use assim mesmo, sem memoização:

// Vamos renderizar sempre. Porque sim.
const MeuComponente = ({ valor }) => {
  return <div>{valor}div>;
};

Bônus: Se tiver 500 cards, melhor ainda. Cada um renderizando sem motivo = ❤️


2. Use funções inline nas props

Crie funções dentro do render. Toda vez. Porque função boa é função novinha, feita na hora.

<Button onClick={() => console.log("clicou")}>Clique aquiButton>

Quer mais? Coloque isso em uma lista com 1.000 itens:

{itens.map(item => (
  <Item key={item.id} onClick={() => handleClick(item)} />
))}

Você não vai ver diferença… até o app travar. 🤡


3. Carregue todos os dados de uma vez

Componentes com useEffect no mount carregando 10 mil registros? Perfeito. Afinal, quem precisa de paginação ou lazy loading?

useEffect(() => {
  fetchTudoDeUmaVez().then(setDados);
}, []);

Isso sim é trabalhar com foco. Se o usuário ficar esperando, que aproveite para meditar. 🧘


4. Ignore completamente useCallback e useMemo

Quem precisa de memoização? Deixe o React recriar todas as funções e cálculos a cada render. Otimização é coisa de quem tem tempo.

const resultado = dados.filter(item => item.ativo).map(transformaDados);

Toda vez. Em todo lugar.

Economizar CPU é coisa de fraco. 🧠❌


5. Componentes Fantasma (Gasparzinho)

Crie componentes que montam e desmontam sem motivo aparente. Ou melhor: renderize componentes pesados fora da viewport, só por precaução.

{mostrarCoisaPesada && <CoisaQueDemora />}

Mostra, esconde, mostra, esconde. Uma rave de renders.


Conclusão

Aplicando essas 5 dicas preciosas, seu app React vai se transformar numa verdadeira máquina... de lentidão.

Mas falando sério: já viu (ou cometeu) alguma dessas pérolas?

Conta aí nos comentários e bora espalhar esse “manual do caos” — para que ninguém mais repita. Ou repita, mas consciente. 😅


Curtiu?

Me segue por aqui pra mais dicas técnicas (e desastres em potencial) no mundo React.

Se riu ou chorou lendo isso, compartilha com aquele dev que "faz funcionar primeiro, otimiza depois".