Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida com init de component de arrow function e tipagem de state

Conforme conversado em outra pergunta (https://cursos.alura.com.br/forum/topico-estou-tendo-problemas-com-import-de-imagens-no-react-196325), fiz o código da forma que um dos professores passou, para fazer um componente de arrow function A funcionalidade dele, deveria ser buscar os banners com o getBanners para exibi-los no html, mas o setBanners parece não funcionar, pois no console.log(banners) o banners possui o valor de array vazio, mesmo o getBanners retornando valor.

E a tipagem do useState da erro no console do navegador, como tipar corretamente a variável banners do state em sua declaração?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

O problema parece vir do destructuring no useState, pois no erro diz que o retorno da função useState não é iterável. Você poderia associar o valor retornado por esse hook a uma única variável ao invés de dividir em duas e dar um console log nessa variável pra tentar descobrir qual o problema.

Ex.:

const useStateReturn = useState<Array<GameBanner>>([]);
console.log(useStateReturn);

Já até tentei achar o erro copiando o seu código, mas funcionou tudo corretamente, só que percebi um problema nele (não relacionado ao erro): a arrow function que você passou no banners.map() ficou faltando um retorno. Então você deveria colocar um return antes do elemento <li> ou remover as chaves {} e colocar parênteses (). Os parênteses não são necessários nessa última alternativa, mas servem pra deixar o código mais legível.

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