首页 > 解决方案 > React Native 更新 0.63.0 破坏了真 iPhone 上的登录功能

问题描述

我刚刚将 React Native 更新到版本 0.63.0,当我尝试使用真正的 iPhone 设备登录时,我的应用程序中断,但它适用于模拟器。

我开始世博会,像往常一样扫描二维码,但是当我尝试登录时出现网络错误。

这是我的登录功能:

const login = () => {
axios.post(`http://localhost:3000/v1/sessions`, login_params)
.then(res => {
  if (res.status == 201){
   navigation.navigate('Home')
   storeData(res.data)
  }else {
    Alert.alert('Wrong email or password')
  }
})
.catch(function(error) {
  console.log(error.message);
    throw error;
  })
}

我收到以下错误:网络错误

[未处理的承诺拒绝:错误:网络错误]

我试图硬重启世博会。空缓存。

有没有人知道我为什么会收到网络错误。

标签: react-nativeruby-on-rails-5

解决方案


localhost不适用于真实设备,请使用您的 Mac 的 ip 或在网络上部署您的后端并使用该 url。

如果您的 Mac 和 iPhone 都在同一个 wifi 网络上,您可以使用 Mac 的 ip 地址而不是 localhost。因此,您的 url 将类似于http://192.169.0.100:3000/v1/sessions而不是http://localhost:3000/v1/sessions. 您可以使用该命令ifconfig查找您的 IP 地址。

如果您仍然无法访问 iPhone 上的 rails 服务器,请确保该服务器在本地网络上可用。这是一个类似的问题


推荐阅读