Flutter and Firestore:如何从Stateful Widget访问变量以创建新文档?

时间:2018-08-08 16:43:01

标签: dart google-cloud-firestore flutter

我想使用StatelessWidget内部的StatefulWidget中的最终变量在Firestore中创建新文档。

但是我总是遇到同样的问题:初始化器中只能访问静态成员

我的StatefulWidget代码:

class UserProfile extends StatefulWidget {
  UserProfile({this.auth, this.onSignedOut, this.userID});
  final BaseAuth auth;
  final VoidCallback onSignedOut; 
  final String userID;

   @override
     _UserProfileState createState() => new _UserProfileState();

}

我的StatelessWidget代码:

class _UserProfilState extends State<UserProfile> {
  final DocumentReference userdocuments = 
    Firestore.instance.collection("Users").document(widget.userID); //Here i get the Error, because widget.userID
}

我的问题:如何使用StatefulWidget中的userID变量来基于userID创建新文档。谢谢您的帮助

1 个答案:

答案 0 :(得分:2)

您可以通过initState方法获得值

class _UserProfilState extends State<UserProfile> {

DocumentReference userdocuments;

@override
 void initState() {
   userdocuments = 
   Firestore.instance.collection("Users").document(widget.userID);
   super.initState();
  }
}