Я использую Dyson для размещения небольшого фиктивного сервера для своего приложения React Native и пытаюсь получить его с сервера. Сервер работает нормально, и когда я захожу по своему желаемому URL, http://localhost:3000/stations
, в моем браузере, я получаю хороший ответ JSON.
В моем действии React Native я получаю Network request failed
:
export function fetchStations() {
return dispatch => {
dispatch({ type: "GET_STATIONS_START" });
fetch("http://localhost:3000/stations")
.then(res => {
return res.json();
})
.then(json => {
dispatch({ type: "GET_STATIONS_SUCCESS", payload: json.stations });
})
.catch(error => {
console.warn(error);
dispatch({ type: "GET_STATIONS_FAILURE", payload: error });
});
};
}
Работает использование статического локального URL, и, скажем, работает API Карт Google (хотя это не то, что мне нужно, а просто пример API).
Я думаю, что, возможно, я неправильно называю URL, но он работает в браузере, так что это кажется сомнительным. Моя догадка заключается в том, что это связано с тем, что iOS не нравится http-запросы (только принимает https), если вы не установили какие-либо настройки где-то (я прошел через это в нативной разработке для iOS).
Если это проблема, как я могу это исправить из React Native? Или в чем собственно проблема?
PS. Я использую dyson, а не json-server, потому что по какой-то причине я не могу заставить работать json-server. Смотрите мой другой пост. Где-то здесь:)