4
respostas

Estou com dificuldade de pegar os dados da api.

Estava seguindo a aula e no final da aula substitui o "localhost" para o ip "10.0.2.2". Ao testar o aplicativo no meu dispositivo a menagem de erro aparece "localhost", não mostra nenhum endereço cono foi mostrado em video.

Testei localhost, o endereço da aula e ate o ip da minha maquina mas nunca funcionou .

4 respostas

Oi José, em alguns casos o RN pode ficar com algum cache na memória e não atualiza o código direito.

Confere se o servidor está rodando normal, pelo browser mesmo e se estiver tentar refazer o build do seu app. Desistala do emulador e instala de novo

Eu estava com esse mesmo problema no Android plugado via USB.

Uma solução que eu encontrei foi utilizar o "Port forwarding" do Inspetor do Google Chrome

Em seu navegador Chrome digite o seguinte endereço:

chrome://inspect

Na opção "Discover USB Devices" clique no botão "Port forwarding..."

Em "Port" coloque a porta da API "3030", em "IP Address and port" coloque o endereço a API "localhost:3030".

Selecione a opção "Enable port forwarding" e clique em "Done".

Com isso o endereço da API poderá ser acessado via navegador do celular Android conectado, pois ele faz uma ponte entre a API rodando no PC e o dispositivo.

Assim teste no seu dispositivo utilizando o localhost da forma abaixo:

...
    const lerFotos = async () => {
      const fotosHTTP = await fetch('http://localhost:3030/feed');
      const fotosJson = await fotosHTTP.json();
      setFotos(fotosJson);
    };
...

Não funcionou para mim. =/

Denis,

Em seu Android plugado via USB, você digitou o endereço "http://localhost:3030" no navegador Chrome?