如何让我的物理设备在 Expo Go 上运行 React Native,以便与应用的 rails 后端 API 进行通信?



我目前正试图在手机上运行我的react native/rails应用程序以进行测试。我可以很好地运行我的登录和登录屏幕,因为在输入用户信息之前,它们不会与我的服务器通信。运行服务器时,我使用:$rails s--绑定=0.0.0.0

除了知道我的服务器没有被通信之外,我没有收到任何错误。这一切在我的Android Studio Emulator上也很好。

// one of my fetch GET requests
export function requestCurrentUser(username, auth_token) {
return function action(dispatch) {
const request = fetch(`'http://10.0.2.2:3000'/users/${username}`, {
method: 'GET',
headers: {
"Authorization": auth_token
}
});
return request.then(
response => response.json(),
err => console.log("user error"),
)
.then(
json => dispatch(receiveCurrentUser({id: json.id, email: json.email, username: json.username})),
err => console.log("user json error"),
);
}
}

我已经尝试将我的手机IP设置更改为10.0.2.2网关,并在获取请求中使用我手机的IP。我觉得我在概念上错过了一些东西。提前谢谢。

在获取请求中,您需要使用运行rails服务器的机器的IP,可能是你的笔记本电脑,并使用相同的网络连接你的应用程序和rails后端api。为了进行测试,您可以尝试在手机浏览器中直接访问您的api,访问http://IP_FROM_RAILS_MACHINE:3000

最新更新