0

我有一个MultiBlocProvider分配给一个应用程序,它有一个底部导航栏来浏览主要路线,比如HomeSearchWishlist ...

setState(){}用来更改currentPage每条路线的。

最近我通过使用包向它们中的每一个添加了Blocsflutter_bloc ,并且我正在使用BlocProvider为每个提供 bloc BlocBuilder

 @override
  Widget build(BuildContext context) {
    return SafeArea(
      top: false,
      child: Scaffold(
        key: _scaffoldKey,
        body: PageStorage(
          child: Stack(
            children: <Widget>[
              AnimatedSwitcher(
                duration: Duration(milliseconds: 200),
                  child: BlocProvider<WishlistBloc>(
                      create: (BuildContext context) => WishlistBloc(WishlistRepository()),
                      child: currentPage),
              ),
              bottomBar(currentPageScroll)
            ],
          ),
          bucket: bucket,
        ),
      ),
    );
  }

可以MultiBlocProvider用来提供我需要的所有 BlocsProviders 吗?

他们可能是 10 多个提供商,这会影响应用程序的性能吗?

4

1 回答 1

4

绝对没问题,为此目的创建了 MultiBlocProvider。但是您需要了解,如果您在创建时还发送(例如)初始化事件,该事件开始在所有 10 个块中加载一些数据,您将遇到一些问题。因此,如果您遇到一些性能问题,请创建单独的 SO 问题,社区将帮助您找到问题的根本原因。

于 2020-03-03T06:28:17.250 回答