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

com.facebook.react.bridge.ReadableNativeMap cannot be cast to java.lang.Double

我正在使用 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 Module 来显示 Toast,即 ToastAndroid,因此在您的错误中显示 com.facebook.react.bridge.ReadableNativeMaphere 中描述的 show() 方法接受一个 duration ,它被转换成一个双精度数,作为它的第二个参数,在这种情况下,你传递的是 responseJson 这是一个对象它不能转换为双精度。