Я унаследовал довольно сложное приложение React Native, поэтому заранее прошу прощения, если я не знаю всего, что я должен знать о приложении, когда задаю этот вопрос.
У меня есть приложение React Native, котороеиспользует Expo. Я запускаю expo start
, чтобы запустить Metro в браузере. Затем я использую опцию LAN, чтобы подключить свой iPhone к локальному приложению через приложение Expo на моем телефоне. Когда я использую локальную сеть, я подключаюсь к локальному приложению на своем компьютере через IP-адрес, который выглядит как 192.168.0.xxx:19000
.
Приложение прекрасно загружается на моем телефоне, но всякий раз, когда я пытаюсь выполнить сетевой запрос (т. Е. fetch
вызов сервера Rails, также работающего на моем локальном компьютере), приложение не может подключиться к серверу.
Я запускаю сервер Rails с помощью следующей команды: rails server
Когда сервер Rails запущен, я могу перейти к 127.0.0.1:3000
в своем браузере, чтобы увидеть серверную часть приложения, созданного в Rails.
Однако всякий раз, когда я делаю fetch
запрос от приложения к API на 127.0.0.1:3000
или 192.168.0.xxx:19000
(xxx
- это фактическое трехзначное число), запрос не выполняется. По сути, я не могу понять, как сделать правильный запрос из приложения React Native, работающего на моем телефоне через Expo, на сервер Rails, работающий на моей локальной машине.
Я пробовал что-то вроде http
против https
, но не повезло. Я также погуглил это, и до сих пор не могу понять, что происходит. Отчасти проблема заключается в том, что само приложение настолько большое и сложное, и я все еще настолько новичок в нем, что я не уверен, просто ли я в корне неправильно понимаю, как Expo и React Native должны отправлять запросы обратно. конец, или если в самом приложении есть что-то странное, что мешает мне делать запросы.
Буду очень признателен за любые советы / идеи о том, как я могу потенциально заставить приложение правильно подключаться к серверу Rails. Спасибо.