Какой IP / порт использует мое Expo-приложение с React Native? - PullRequest
0 голосов
/ 27 марта 2020

Я создал API с Spring-Boot, который отправляет JSON в качестве ответа.

После установки @ CrossOrigin-Annotation в Spring-Boot-App я могу получить данные без проблем.

Теперь я хочу получить тот же API с моим React-Native-App (работает с Expo App (iOS)). К сожалению, я получаю только Network-Error.

Я добавил Localhost: 19002, IP-адрес от Expo-Server и мой Phone-IP в CrossOrigin-Annotation.

Та же ошибка.

API должен быть в порядке, поэтому мой вопрос:

Какой IP-адрес использует Expo для получения моих данных из API?

Надеюсь, кто-то может мне помочь - поскольку я довольно новичок в этом (Web) App-Topi c

Привет

Даниэль

1 Ответ

0 голосов
/ 27 марта 2020

Если на вашем устройстве запущено клиентское приложение Expo, localhost будет ссылаться на ваш телефон, а не на ваш компьютер.

Вам потребуется использовать сетевой IP-адрес вашего компьютера, чтобы достичь его. Вы можете получить это программно во время разработки, используя Constants.manifest.hostUri, но это будет включать и порт.

// be sure to run expo install expo-constants first
import * as Constants from 'expo-constants';

let host;
if (__DEV__) {
  // eg: 192.168.1.1:19000 -> 192.168.1.1
  host = Constants.manifest.hostUri.split(':')[0];
} else {
  host = 'https://your-production-server-url.com/api'
}
...