如何使用 Firestore 集合使我的个人资料名称出现在我的仪表板上?
How to make my Profile name appear on my Dashboard using Firetore collection?
关于 Firestore 的菜鸟问题。我是 firebase 的新手,我正在创建一个简单的应用程序,但无法在我的仪表板上显示配置文件名称或任何子集合,唯一显示的是电子邮件地址。
登录和注册没有问题,因为数据已经存储在 firestore 数据库中。只有我的仪表板是问题,我无法显示子集合中的任何内容。
控制台日志也没有问题,它向我显示了用户 ID 和子集合列表。它没有显示在我的仪表板上。这是示例代码。
const curUser = firebase.auth().currentUser;
const { email } = curUser;
const dbUser =
firebase
.firestore()
.collection('users')
.doc(curUser.uid)
.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log(doc.id, doc.data());
}
})
const { firstname, lastname, bio } = dbUser;
this.setState({ firstname, lastname, bio, email });
};
render() {
return (
<View >
<Text>
{this.state.firstname} {this.state.lastname}
</Text>
<Text>
{this.state.bio}
</Text>
<Text>
{this.state.email}
</Text>
</View>
)
}
};
名字。姓氏和生物显示空白。我不知道我做的对不对。任何帮助将非常感激。提前谢谢你。
get()
method is asynchronous and returns a Promise
.
当此 Promise 完成时,其结果将传递给 then()
函数中的成功处理程序。
因此您需要进行如下操作:
firebase
.firestore()
.collection('users')
.doc(curUser.uid)
.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log(doc.id, doc.data());
const { firstname, lastname, bio } = doc.data();
this.setState({ firstname, lastname, bio, email });
}
})
关于 Firestore 的菜鸟问题。我是 firebase 的新手,我正在创建一个简单的应用程序,但无法在我的仪表板上显示配置文件名称或任何子集合,唯一显示的是电子邮件地址。
登录和注册没有问题,因为数据已经存储在 firestore 数据库中。只有我的仪表板是问题,我无法显示子集合中的任何内容。
控制台日志也没有问题,它向我显示了用户 ID 和子集合列表。它没有显示在我的仪表板上。这是示例代码。
const curUser = firebase.auth().currentUser;
const { email } = curUser;
const dbUser =
firebase
.firestore()
.collection('users')
.doc(curUser.uid)
.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log(doc.id, doc.data());
}
})
const { firstname, lastname, bio } = dbUser;
this.setState({ firstname, lastname, bio, email });
};
render() {
return (
<View >
<Text>
{this.state.firstname} {this.state.lastname}
</Text>
<Text>
{this.state.bio}
</Text>
<Text>
{this.state.email}
</Text>
</View>
)
}
};
名字。姓氏和生物显示空白。我不知道我做的对不对。任何帮助将非常感激。提前谢谢你。
get()
method is asynchronous and returns a Promise
.
当此 Promise 完成时,其结果将传递给 then()
函数中的成功处理程序。
因此您需要进行如下操作:
firebase
.firestore()
.collection('users')
.doc(curUser.uid)
.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log(doc.id, doc.data());
const { firstname, lastname, bio } = doc.data();
this.setState({ firstname, lastname, bio, email });
}
})