Uma das coisas mais comuns enquanto desenvolvemos em React com Hooks é a utilização do useEffect
.
Basicamente, com ele podemos executar alguma função no momento em que estamos carregando a página ou quando ocorre alteração de alguma variável que estamos assistindo.
Mas por padrão, o React não aceita que essa função useEffect seja do tipo async
.
Como podemos fazer então para realizar um fetch dentro do useEffect e aguardar o resultado?
IIFE
Uma das maneiras que você pode fazer é usar uma IIFE (Immediately Invoked Function Expression):
1 | useEffect(() => { |
Função externa
Você pode criar uma função por fora do escopo da classe ou função do seu componente React:
1 |
|
Seguindo uma dessas formas, você evita alguns problemas de looping e o ESLint também não reclama!