š§ Otimização no React: O Que, Quando e Por QuĆŖ
Source: Dev.to
React.memo (Memoriza um Componente)
O que faz:
Envolve um componente funcional. Se as props do componente filho forem as mesmas da renderização anterior, o React pula completamente a reārenderização desse componente. Ć o āporteiroā do componente.
Quando usar:
Quando vocĆŖ tem um componente que Ć© lento e reārenderiza frequentemente sem que suas props realmente mudem.
useMemo (Memoriza um Valor)
O que faz:
Memoriza o resultado (o valor) de uma função de cÔlculo. O cÔlculo só é refeito se as variÔveis listadas no seu array de dependências mudarem.
Quando usar:
Quando vocĆŖ tem um cĆ”lculo pesado ou complexo (ex.: filtros, somas grandes, ordenação) dentro do seu componente, e quer evitar que ele seja reāexecutado em toda renderização.
useCallback (Memoriza uma Função)
O que faz:
Memoriza a referência da função em si. Evita que o JavaScript crie uma nova função em um endereço de memória diferente a cada renderização.
Quando usar:
Quase exclusivamente quando vocĆŖ precisa passar uma função como prop para um componente filho otimizado com React.memo. Ele garante que o filho nĆ£o reārenderize desnecessariamente, pois a prop (a função) mantĆ©m a mesma referĆŖncia.