com.facebook.react.bridge.ReadableNativeMap 不能转换为 java.lang.Double

Vis*_*ech 0 fetch react-native react-native-android react-native-ios

我正在使用 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);
  });
  }
Run Code Online (Sandbox Code Playgroud)

但是,响应低于错误。

错误: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"
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

小智 9

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