如何使用bloc in flutter将数据传递到另一个屏幕

时间:2020-04-01 02:01:10

标签: flutter bloc

您好,我是flutter和bloc的新手,我想我有2个屏幕(登录和主屏幕)。在登录屏幕中,我正在使用bloc来发布数据,我想在主屏幕中调用该数据。有人可以给我榜样吗?

2 个答案:

答案 0 :(得分:1)

如果您只想将值从登录页面传递到首页,则可以执行以下操作:

class Home extends StatelessWidget {
  final String username;

  Home(this.username);

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

class Login extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: () {
        Navigator.of(context).push(MaterialPageRoute(builder: (ctx) {
          return Home('flutter');
        }));
      }),
    );
  }
}

答案 1 :(得分:1)

有很多方法可以做到,我可以举几个例子。

  1. 您导航到新的小部件(屏幕),并将所需的数据传递给该小部件构造函数。

  2. 您可以使用Provider提供该数据并在其上包装新屏幕,然后导航到新屏幕。

  3. 如果这是应在整个应用程序中访问的一些数据,则可以将整个BLoC提供给整个应用程序,并在此新屏幕上获取BLoC的引用,然后直接从BLoC中获取数据。

  4. p>