У меня есть два отдельных приложения, приложение для react-native
и express
сервер. Я создал сервер с помощью express-generator
. Мой сервер имеет следующий код в users.js
router.get('/', function(req, res, next) {
res.json([{
id: 1,
username: "foo"
}, {
id: 2,
username: "bar"
}]);
});
Сервер настроен на прослушивание на порту 8080 и имеет app.use('/users', users)
. В принципе, всего лишь код, который поставляется с express-generator
.
В моем собственном приложении для реагирования у меня есть: "proxy": "http://localhost:8080"
А затем в App.js
:
componentDidMount() {
fetch('/users'
.then(res => res.json())
.then(users => this.setState({ users }))
}
Я использую Expo для загрузки своего приложения на устройство Android, и получаю: unexpected url: /users
. Если я посещаю localhost:8080
в моем браузере, данные видны, поэтому я думаю, что проблема должна быть на стороне клиента.
При создании запроса вам нужно добавить полное имя хоста и номер порта. Вам нужно написать полный URL-адрес при получении данных как http://localhost: 8080/users в вашем приложении App.js.