Javascript 如何将匿名帐户转换为永久帐户

Javascript 如何将匿名帐户转换为永久帐户,javascript,firebase,firebase-authentication,react-native-firebase,Javascript,Firebase,Firebase Authentication,React Native Firebase,有人能帮助我如何将匿名帐户(signinanomyouslyandretrievedata)转换为永久帐户吗? 我试过这个: firebase.auth().currentUser.linkAndRetrieveDataWithCredential(credential).then(function(usercred) { var user = usercred.user; console.log("Anonymous account successfully upgraded", us

有人能帮助我如何将匿名帐户(signinanomyouslyandretrievedata)转换为永久帐户吗? 我试过这个:

firebase.auth().currentUser.linkAndRetrieveDataWithCredential(credential).then(function(usercred) {
  var user = usercred.user;
  console.log("Anonymous account successfully upgraded", user);
}, function(error) {
  console.log("Error upgrading anonymous account", error);
});
但是我有一个

无法读取null的属性“linkAndRetrieveDataWithCredential”

错误。

firebase.auth()。如果当前没有登录用户,则currentUser将为空

确保您的匿名用户仍已登录,然后如上面的示例所示,您可以使用
linkAndRetrieveDataWithCredential升级您的用户

const-credential=firebase.auth.EmailAuthProvider.credential(电子邮件,密码);
const currentUser=firebase.auth().currentUser;
如果(当前用户){
currentUser.linkAndRetrieveDataWithCredential(凭证)。然后((userCredential)=>{
const user=userCredential.user;
console.log(“账户链接成功”,用户);
},(错误)=>{
console.log(“账户链接错误”,错误);
});
}
您所说的“确保您的匿名用户仍在登录”是什么意思?我有一个匿名用户只需打开应用程序,他们有一个UID。但除此之外,他们没有签到。当我尝试按照Firebase说明使用linkAndRetrieveDataWithCredential将新注册用户与他们作为匿名用户时生成的数据链接时,我得到错误“用户只能链接到给定提供商的一个身份”