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

[Desconsiderar] undefined is not an object (resposta.json())

Olá pessoal..

Estou com problemas ao capturar a resposta do fetch. O valor do comentário está sendo enviado, tanto que, se eu fizer um refresh da aplicação, o comentário digitado aparece normalmente, mas, quando comento, aparece que o objeto resposta.json está undefined.

AsyncStorage.getItem('token')
      .then(token => {
        return {
          method: 'POST',
          headers: {
            'Content-type': 'application/json',
            'X-AUTH-TOKEN': token
          },
          body: JSON.stringify({
            texto: valorComentario
          }),
        }
      })
      .then(requestInfo =>{
          fetch(`https://instalura-api.herokuapp.com/api/fotos/${idFoto}/comment`, requestInfo)
      })
      .then(resposta => resposta.json())
      .then(comentario => [...foto.comentarios, comentario])
      .then(novaLista => {
        const fotoAtualizada = {
          ...foto,
          comentarios: novaLista
        }

        this.atualizaFotos(fotoAtualizada);
        inputComentario.clear();
      });

Obrigado.

2 respostas
solução!

Bom dia, Ismael! Como vai?

No trecho abaixo faltou um return. Vc fez

then(requestInfo => {
     fetch(`https://instalura-api.herokuapp.com/api/fotos/${idFoto}/comment`, requestInfo)
})

mas o correto era

then(requestInfo => {
     return fetch(`https://instalura-api.herokuapp.com/api/fotos/${idFoto}/comment`, requestInfo)
})

ou também poderia ser feito como o instrutor fez durante o curso

then(requestInfo =>
     fetch(`https://instalura-api.herokuapp.com/api/fotos/${idFoto}/comment`, requestInfo)
)

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Opa... e aí Gabriel!!

Sim, consegui pegar a ideia :-)

Agradeço pela ajuda!!