【问题标题】:com.facebook.react.bridge.ReadableNativeMap cannot be cast to java.lang.Doublecom.facebook.react.bridge.ReadableNativeMap 不能转换为 java.lang.Double
【发布时间】:2018-07-25 10:01:02
【问题描述】:

我正在使用 React 的 fetch() 方法登录我的服务。 到目前为止,我已经完成了以下工作,您可以查看我的资料:

_callApiForLogin = () => {
ToastAndroid.show('Logging In...', ToastAndroid.SHORT);

let data = new FormData();
data.append('username', "sssss");
data.append('password', "123456");
data.append('device_token', "hjkhjkhjkkksdkjhkjhksdsfs");
data.append('device_type', "2");

fetch('https://612.33.196.54/~yes/master/api/web/login', {

  method: 'POST',

  body: data,

}).then((response) => response.json())
  .then((responseJson) => {
    ToastAndroid.show('Logging In...', responseJson);
    if (responseJson.status === '1') {
      ToastAndroid.show('Logging Successful' + responseJson, ToastAndroid.SHORT);
    }
    return responseJson.status;
  })
  .catch((error) => {
    console.error(error);
  });
  }

但是,响应中出现错误。

错误: com.facebook.react.bridge.ReadableNativeMap 无法转换为 java.lang.Double

来自服务的响应如下:

{
    "status": 1,
    "data": {
        "id": "551",
        "first_name": "sssss",
        "last_name": "lastname",
        "email": "ja@gmail.com",
        "username": "sssss",
        "password": "e10adc83e",
        "photo": "",
        "birthdate": "1963-02-13",
        "gender": "",
        "token": "1234567890",
        "device_type": "2"
    },
    "message": "Successful Login"
}

可能是什么问题??

【问题讨论】:

    标签: react-native fetch react-native-android react-native-ios


    【解决方案1】:

    您正在使用 React Native Module 来显示 ToastToastAndroid 因此 com.facebook.react.bridge.ReadableNativeMap 在您的错误中。 show() 描述的 here 方法接受 duration 作为其第二个参数,它被转换为双精度,在这种情况下,您传递的是 responseJson 这是一个对象,因此它不能转换为双精度。

    【讨论】:

    • 谢谢先生,我怎么会犯这么愚蠢的错误......顺便说一句。它现在可以工作了。
    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2021-12-27
    • 2017-07-01
    • 2023-02-01
    • 1970-01-01
    相关资源
    最近更新 更多