С тех пор, как я перешел с 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, который был бы специально реагировать на родной. Есть идеи?