Executando verificação de segurança...
3

O pessoal geralmente se confunde com o uso de Hooks e Estados do React, e acabam complicando coisas simples, ou "over-usando" algo sem necessidade.

Na maioria dos seus casos de uso, você vai utilizar o UseEffect para realizar uma ação quando uma dependência mudar seu valor;

O UseEffect é chamado a primeira vez com o valor inicial das dependências e executado novamente quando uma de suas dependências muda.

Os problemas de perfomance não são culpa do UseEffect, e sim, do seu possível mau uso:

Atualizar o valor da própria dependência é a causa de Loops Infinitos;
Manter diversas dependências dentro do mesmo UseEffect vai dificultar a debugação.

Além disso, aqui vão algumas dicas:
Evite usar o UseEffect para atualizar o valor de um estado com base no valor da dependência, experimente o UseMemo.
Simplifique os seus UseEffect, coloque apenas as dependências necessárias e execute somente as operações necessárias, vai melhorar a qualidade do seu código e vai facilitar o debug.

As alternativas ao UseEffect são o UseCallback ("cacheia" funções e só altera ela quando as dependências mudam, e com isso você decide se chama ela ou não (da para usar ela como dependência de um UseEffect e executar a função lá));
Outra alternativa é o UseMemo ("cacheia" valores, e esse valor não muda durante as renderizações do React, apenas quando a dependência muda o valor.)

Carregando publicação patrocinada...