【问题标题】:Difference implementing BlocProvider flutter实现 BlocProvider 的差异
【发布时间】:2020-07-04 13:09:40
【问题描述】:

为 bloc 参数提供对象和类有什么区别,例如:

BlocProvider<AuthBloc>(

bloc: AuthBloc(),

child: Child()

);

来自:

_authBloc = BlocProvider.of<AuthBloc>(context);


BlocProvider<AuthBloc>(

bloc: _authBloc,

child: Child()

);

谢谢:),我希望你能帮助很多有这个疑问的人。

【问题讨论】:

    标签: flutter dart stream widget bloc


    【解决方案1】:

    案例一:

    块提供者(

    bloc: AuthBloc(),
    
    child: Child()
    
    );
    

    在这种情况下,您正在创建一个新的 AuthBloc 实例并将其传递给 BlocProvider

    案例2:

    _authBloc = BlocProvider.of<AuthBloc>(context);
    
    
    BlocProvider<AuthBloc>(
    
    bloc: _authBloc,
    
    child: Child()
    
    );
    

    在这种情况下,您不会创建任何新实例,而是使用 BlocProvider.of&lt;AuthBloc&gt;(context); 从上述树中获取先前创建的实例

    【讨论】:

    • 感谢您的回答。如果我们在 parent 中使用 BlocBuilder 创建,我们是否能够使用 BlocProvider.of&lt;AuthBloc&gt;(context); 在 child 中访问它?或者我们只能访问它,如果它是使用blocProvider 创建的?提前谢谢!
    • 您应该始终使用 blocProvider 提供实例,以便您可以从树的任何位置访问它。 BlocBuilder 仅在您已经在树上方放置了 BlocProvider 时才有用。
    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 2012-01-28
    • 1970-01-01
    相关资源
    最近更新 更多