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

时间:2018-07-25 10:01:02

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

am使用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"
}

可能是什么问题?

1 个答案:

答案 0 :(得分:3)

您正在使用React Native Module来显示Toast,即ToastAndroid,因此出现 com.facebook.react.bridge.ReadableNativeMap 错误。 here中所述的show()方法接受一个duration并将其转换为一个double,作为其第二个参数,在这种情况下,您正在传递responseJson,它是一个对象,因此它不能转换为两倍。