dart 无法在初始值设定项中访问示例成员“value”,请尝试将对示例成员的引用替换为其他表达式

cdmah0mi  于 2022-12-15  发布在  其他
关注(0)|答案(2)|浏览(145)

我希望在一个文档的集合引用中使用从另一个小部件传递过来的 value,但是,这个错误弹出了:
无法在初始值设定项中访问示例成员“value”。请尝试将对示例成员的引用替换为其他表达式
我该怎么做呢?

class FriendProfileScreen extends StatefulWidget {
  String value;
  FriendProfileScreen({Key? key, required this.value}) : super(key: key);

  @override
  _FriendProfileScreenState createState() => _FriendProfileScreenState(value);
}

class _FriendProfileScreenState extends State<FriendProfileScreen> {
  String value;
  _FriendProfileScreenState(this.value);

  var uid = value;
  final CollectionReference _todoref = FirebaseFirestore.instance
      .collection("users")
      .doc(value)
      .collection("todos");
  @override
bttbmeg0

bttbmeg01#

我建议晚点做标记,就像

late final CollectionReference _todoref = FirebaseFirestore.instance
      .collection("users")
      .doc(value)
      .collection("todos");
gab6jxml

gab6jxml2#

把你的初始化代码放进一个future type函数中,在init方法中调用这个函数,它会起作用的。

var uid;    
 Future loadData()async{
 uid = value;
 final CollectionReference _todoref = FirebaseFirestore.instance
  .collection("users")
  .doc(value)
  .collection("todos");
}
@override
  void initState() {
    loadData();
    super.initState();
  }

相关问题