Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre a vantagem do useMemo sobre o useEffect

Bom dia!

Na atividade 02 da aula 05, o instrutor nos fala e ensina sobre o useMemo dizendo que ele guarda o valor de um cálculo entre renderizações e o cálculo só é realizado novamente caso o valor de uma das dependências mude.

Fiquei meio confuso com isso. Ter os memos valores como dependências no useEffect já não fazia com que aquele código executasse somente quando as dependências mudassem? Se ambos só são executados nas alterações desses valores, qual a vantagem do useMemo?

2 respostas
solução!

O useEffect e o useMemo têm propósitos diferentes, embora possam parecer semelhantes em alguns casos. O useEffect é usado para lidar com efeitos colaterais, como chamadas de API, manipulação do DOM, etc. Ele é executado após a renderização do componente e sempre que as dependências especificadas mudam. Por outro lado, o useMemo é utilizado para memoizar valores calculados, evitando recálculos desnecessários entre as renderizações. Isso é útil quando você tem um cálculo custoso e quer armazenar o resultado para reutilização, evitando a reexecução desse cálculo a cada renderização, a menos que as dependências mudem. Em resumo, enquanto o useEffect está mais relacionado a efeitos secundários e execução de código após a renderização, o useMemo é mais específico para otimizar o desempenho ao armazenar valores calculados entre renderizações, economizando recursos ao evitar cálculos repetidos. Ambos podem ser úteis em diferentes situações, dependendo dos requisitos do seu componente.

Caso tenha conseguido esclarecer suas dúvidas, fico feliz em ter ajudado. Estou à disposição para qualquer outra questão que possa surgir. Um abraço! Se este post foi útil, por favor, marque como solucionado ✓. Desejo a você excelentes estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software