2
respostas

Bom dia, gostaria de tirar uma dúvida com relação a busca na Header. quando executo a busca sem preencher o campo de busca, retorna o erro.

immutable.js:565 Uncaught (in promise) TypeError: Expected Array or iterable object of values: [object Object]

Percebi que no projeto disponibilizado pra baixar acontece o erro também, porém só é mostrado no console do navegador, já na minha aplicação o erro é mostrado na tela. Gostaria de entender porque que a minha aplicação mostra o erro na tela, já que até o momento não encontrei diferenças no código.

2 respostas

Robson, boa tarde!

Eu não encontrei o motivo disso acontecer, para analisar melhor eu precisaria ver seu código, mas como solução você pode adicionar um catch após os then, veja:

static pesquisa(login){
      return dispatch => {
        fetch(`http://localhost:8080/api/public/fotos/${login}`)
          .then(response => response.json())
          .then(fotos => {
            if(fotos.length === 0){
              dispatch(notifica('usuario não encontrado'));
            } else {
              dispatch(notifica('usuario encontrado'));
            }

            dispatch(listagem(fotos));
            return fotos;
          })
          .catch(erro => console.log(erro));
      }
    }

Espero ter ajudado e bons estudos!

Bom dia, Felipe.

O catch resolve o problema. Mas no projeto disponibilizado pelo professor realmente não precisa do catch para fazer isso.

Imagino ser alguma versão de pacote que trata de maneira diferente.

Se caso você quiser ver meu código, o link é esse: https://github.com/Robsondj/react-timeline

De toda forma muito obrigado.