React Native + Expo + iPhone - необработанное отклонение обещания: ошибка типа: сбой сетевого запроса - PullRequest
0 голосов
/ 11 декабря 2018

В настоящее время я работаю над проектом React Native / Expo и уже несколько месяцев без проблем использую симулятор на моем Macbook.В проекте используется сервер Rails, работающий на порте 3000. Последние несколько дней я пытался использовать Expo + мой iPhone, чтобы фактически запустить приложение на физическом устройстве, однако у меня постоянно есть то, что я считаю сетевым.проблемы.

[Необработанное отклонение обещания: Ошибка типа: Ошибка сетевого запроса] - node_modules / реагировать-native / node_modules / whatwg-fetch / fetch.js: 441: 29 в onerror - node_modules / event-target-shim / lib / event-target.js: 172: 43 в dispatchEvent

В SO есть другие сообщения, в которых говорится, что вы должны изменить localhost на фактический IPv4-адрес компьютера, IE: 192.168.x.x что я пытался безрезультатно.IPv4-адрес, указанный в Network Utility, - это тот же IP-адрес, который Expo выдает, когда я загружаюсь через npm run ios.

Вот вызов, который я пытаюсь сделать:

signInUser: (username, password) => {
    return fetch(`${HOST_NAME}/users/sign_in`, {
      method: 'POST',
      headers: defaultHeaders,
      body: JSON.stringify({
        username: username,
        password: password,
      }),
    });
  }

Так как я предполагаю, что кто-то может спросить, вот заголовки:

var defaultHeaders = {
  Accept: 'application/json',
  'Content-Type': 'application/json',
}

HOST_NAME будет заменен на http://192.168.x.x:3000, что опять же является значением IP, упомянутым Expo во время загрузки, а также адресом IPv4находится в Network Utility.

Я могу получить информацию о моем приложении при посещении http://192.168.x.x:19000 через браузер моего телефона, а также информацию о порте 19001.

Существуют ли другие способыподтвердить точный IP-адрес, который я должен использовать для связи с моим локальным сервером?

...