реактивная базовая база данных Не найдено свойств для сериализации в классе com.facebook.react.bridge.ReadableNativeMap - PullRequest
0 голосов
/ 16 мая 2018

С тех пор, как я перешел с firebase web SDK на response-native-firebase, я не могу создать узел пользователя в базе данных после регистрации пользователя. Я получаю следующую ошибку (в Windows):

https://i.imgur.com/sddZEeY.png

На Mac я запускал и Android, приложение не падало, но оно не устанавливало узел на базе данных. Тем не менее, это работает на iOS.

Взято из package.json:

   "react-native": "0.54.2"
   "react-native-firebase": "^4.1.0"

В моем Android build.gradle у меня есть:

dependecies{
...
    implementation "com.google.android.gms:play-services-base:15.0.0"
    implementation "com.google.firebase:firebase-core:15.0.2"
    implementation "com.google.firebase:firebase-auth:15.1.0"
    implementation "com.google.firebase:firebase-messaging:15.0.2"
    implementation "com.google.firebase:firebase-database:15.0.0"
}

Tested only on android.

остальная часть сообщения. Ошибка не отображается в отладчике.

No properties to serialize found on class com.facebook.react.bridge.ReadableNativeMap
<init>
    null
zza
    null
zzi
    null
zzh
    null
zza
    null
setValue
    null
set
    RNFirebaseDatabase.java:332
invoke
    Method.java
invoke
    JavaMethodWrapper.java:374
invoke
    JavaModuleWrapper.java:162
run
    NativeRunnable.java
handleCallback
    Handler.java:751
dispatchMessage
    Handler.java:95
dispatchMessage
    MessageQueueThreadHandler.java:31
loop
    Looper.java:154
run
    MessageQueueThreadImpl.java:194
run
    Thread.java:761

И действие, которое ранее работало:

//register
export const registerUser = (
  {
    userName, //name of the user
    userEmail, //email of the user
    password //pw of the user
  },
  onSuccess, //callback()
  onFail // callback(showDialog[bool], { dialogTitle, dialogBody })
) => {
  console.log("register user", userEmail, password);
  return dispatch => {
    firebase
      .auth()
      .createUserWithEmailAndPassword(userEmail, password)
      .then(user => {
        console.log("registering user.uid: ", user.uid);
        firebase
        .database()
        .ref(`${DBREF_USERS}${user.uid}`)
        .set({
          name: userName,
          email: userEmail,
          id: user.uid
        }, 
        dispatch({
          type:REGISTER_SUCCESS,
          payload: user.uid
        }))
        onSuccess();
      })
      .catch(error =>
        onFail(true, {
          dialogTitle: I18n.t("alert_dialog_title"),
          dialogBody: error.message
        })
      );
  };
};

Я пробовал много других способов заставить это работать, но ни один не сделал. Я также не нашел ничего в Google, который был бы специально реагировать на родной. Есть идеи?

1 Ответ

0 голосов
/ 09 июня 2018

Это ошибка на react-native@0.54.2.

Обновите до react-native@0.54.4 или новее, чтобы решить эту проблему.

...