这是我的注册码;
onButtonClicked1() {
this.setState({
error: '',
loading: true
})
const {username, password} = this.state;
firebase.auth().createUserWithEmailAndPassword(username, password)
.then(this.onRegisterSuccess.bind(this))
.catch(() => {
this.setState({
error : 'Not registered.',
loading: false
})
});
}
我如何获取用户名?获取用户名后,可以在设置页面中更新。
createUserWithEmailAndPassword
firebase方法将在promise得到解决后返回一个具有此结构的Object(这在将来可能会更改):
{
additionalUserInfo: Object,
credential: null,
operationType: "signIn",
user: {
displayName: string,
email: string,
emailVerified: string,
uid: string,
...
}
}
从那里你可以访问所有可用的信息。但是,请记住,createUserWithEmailAndPassword
正在期待email
和password
。所以,如果你的应用程序中的username
是电子邮件,那就好了。如果没有,你可能得不到你想要的结果。
解决承诺后使用函数的示例:
firebase.auth().createUserWithEmailAndPassword(username, password)
.then((res) => {
callAnyFunctionYouWant(res.user.email) // or res.user.displayName
})
.catch(() => {
...
});
如果您确实想要用户名
如果要使用自定义username
,则需要在firebase.auth()
之后为用户创建一个配置文件,并使用不同的查询获取该配置文件。但是,您不能使用您提供的示例代码。它需要额外的工作。
希望这能澄清一切。