Flutter widget.snapshot.data与snapshot.data

问题描述 投票:0回答:1

我对widget.snapshot.data["info"]snapshot.data["info"].感到困惑,谁能向我解释一下。

flutter dart flutter-layout
1个回答
0
投票
当使用

StatefulWidget并且snapshot来自StatefulWidget

时,应使用widget.snapshot.data [“ info”]

示例

class ViewDocuments extends StatefulWidget {
  DocumentSnapshot snapshot;

  ViewDocuments(this.snapshot);

  @override
  _ViewDocumentsState createState() => _ViewDocumentsState();
}

class _ViewDocumentsState extends State<ViewDocuments> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Text("${widget.snapshot.data["info"]}"),
      ),
    );
  }
}

基本上,您使用widget .---访问StatefulWidget类State中的字段,这是StatefulWidget及其State进行通信的一种方式

对于snapshot.data [“ info”]],应在StatelessWidget中使用它,因为它没有State

例如

class ViewDocuments extends StatelessWidget {
  DocumentSnapshot snapshot;

  ViewDocuments(this.snapshot);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Text("${snapshot.data["info"]}"),
      ),
    );
  }
}

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.