📖
Hook

useMemo

Memoiza o RESULTADO de uma computação. Recomputa apenas quando as deps mudam.

📚 O que é

Guarda o valor entre renders. React compara deps com Object.is. Se iguais, retorna valor cacheado. Custo: comparação de deps a cada render.

✅ Quando usar

Computações genuinamente custosas (sort/filter de listas grandes, cálculos matemáticos pesados). Criar objeto/array estável para passar a componente memoizado ou usar como dep de outro hook.

🚫 Quando NÃO usar

Valores primitivos (string, number, boolean). Computações simples/rápidas. Objetos que mudam a cada render de qualquer forma.

👍 Prós
Evita recálculo desnecessário
Estabiliza referências
Melhora performance em listas grandes
👎 Contras
Custo de comparação de deps
Over-use piora performance
Não é garantia — React pode descartar o cache
🔗 Termos relacionados