Трепетание виджета.snapshot.data vs snapshot.data - PullRequest
0 голосов
/ 20 марта 2020

Я в замешательстве по поводу widget.snapshot.data["info"] и snapshot.data["info"]. Может кто-нибудь объяснить мне это.

1 Ответ

0 голосов
/ 20 марта 2020

widget.snapshot.data ["info"] следует использовать, когда используется StatefulWidget и снимок из StatefulWidget

Пример

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 , так как у него нет состояния

Например

class ViewDocuments extends StatelessWidget {
  DocumentSnapshot snapshot;

  ViewDocuments(this.snapshot);

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

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...