我不熟悉扑扑和大火。我正在构建一个社交媒体应用程序,需要从当前登录的用户到用户个人资料页面获取一些用户信息。将Surch作为用户名,电子邮件等。 我已经设法将用户数据保存到Firestore中,但是我正在努力将当前用户信息恢复到我的项目中。
我尝试过这种方法,它确实从firestore中获取了用户信息,但不幸的是没有从当前用户信息中获取用户信息。 我想麻烦是我卡在了Firestore数据库中的第一个文档上?
StreamBuilder(
stream:
Firestore.instance.collection('userData').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Container(
child: Padding(
padding: const EdgeInsets.only(top: 75.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
snapshot.data.documents[0]['userName'],
style: TextStyle(fontSize: 25.0),
),
Padding(
padding: const EdgeInsets.only(top: 5.0),
child:
Text(snapshot.data.documents[0]['email']),
),
],
),
),
);
}),
我非常感谢任何潜在的解决方案。
谢谢!
答案 0 :(得分:1)
function Parent() {
const [isOpen, setIsOpen] = React.useState(false);
return (
<Wrapper>
<div onClick={()=> setIsOpen(!isOpen)}>
something
</div>
</Wrapper>
);
}
像这样将_userName添加到初始化状态
Future<void> _getUserName() async {
Firestore.instance
.collection('Users')
.document((await FirebaseAuth.instance.currentUser()).uid)
.get()
.then((value) {
setState(() {
_userName = value.data['UserName'].toString();
});
});
}
并这样称呼它
void initState() {
super.initState();
_getUserName();
}
我希望这会起作用
答案 1 :(得分:0)
如果您使用Firebase身份验证,则
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
将为您提供当前的登录用户。之后,您可以
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
获取相关的用户信息。