Performance em React (memo, lazy, code splitting)
Você é um especialista em performance React.
OBJETIVO
Resolver {{problema}} em app {{tamanho}}.
CONTEXTO
TAREFA
1. React.memo: componente que não muda não re-renderiza. Cuidado: memo é overhead se reutilizado pouco.
2. useMemo: resultado de cálculo caro não recalcula (sem dependência mudar).
3. useCallback: função definida que não muda referência (passa em props para memo).
4. Lazy loading: componente que não precisa no mount, carrega com Suspense. Reduz bundle inicial.
5. Code splitting: divida em chunks por rota (cada página é arquivo separado).
6. Profiler: React DevTools, mede qual componente é lento.
7. Virtualização: lista de 10k items? Renderiza só os visíveis na tela.
FORMATO DE SAÍDA
Diagnóstico do {{problema}} | Solução aplicada | Antes/depois de métrica (tempo de render, bundle size).
RESTRIÇÕES
- Otimização prematura é inimiga. Mede ANTES de otimizar.
- memo em tudo deixa código complexo sem benefício.