useMemo Computação Memoizada
Última atualização: 2026-11-03
useMemo Computação Memoizada
useMemo armazena em cache o resultado de uma computação: enquanto as dependências se mantêm iguais, ele retorna o resultado anterior e pula a filtragem, ordenação ou mapeamento caros, e também mantém a referência de um objeto ou array estável, o que se combina com um array de dependências e com componentes filhos memoizados. É uma ferramenta de desempenho, não uma garantia semântica: o React é livre para descartar o cache, então o resultado deve permanecer correto mesmo quando o memo é recalculado do zero.
| Grupo | Efeitos e Desempenho |
|---|---|
| Tipo | Hook |
| Desde | React 16.8 |
ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.
📝 Sintaxe
const result = useMemo(() => {
return computeHeavy(list, keyword) // the expensive computation
}, [list, keyword]) // no recomputation while the deps stay the same
⚙️ Parâmetros
| factory | Uma função sem argumentos que retorna o valor a ser cacheado. Só roda de novo quando as dependências mudam. |
|---|---|
| deps | O array de dependências: qualquer mudança recomputa o valor; um array vazio o calcula apenas na montagem. |
Retorna:Retorna o resultado em cache da factory; enquanto as dependências não mudam, retorna a mesma referência da última vez.
▶ Exemplo
O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.
Saída:
Digitar uma palavra-chave filtra a lista em tempo real; clicar em "Toggle theme" apenas troca a cor de fundo e não filtra de novo (o cache do useMemo está fazendo seu trabalho).