BlocProvider 中的惰性标志有什么影响?
What is the impact of the lazy flag in BlocProvider?
我想了解懒惰标志有什么影响。以及设置为true或false的注意事项是什么?
正如 docs 所说:
By default, Create
is called only when the instance is accessed. To
override this behavior, set lazy
to false.
因此,影响是 Create
何时被调用,因此(如果 完全 )您的 BLoC 何时被创建。默认情况下,lazy
是 true
,因此如果您从未访问 BLoC 的实例,则不会创建它。反之,当lazy
为false
时,Widget构建时会立即调用Create
方法
在幕后,价值被传递给底层InheritedProvider。
当它为真时,Bloc 或 Cubit 应该延迟创建,这意味着直到第一次请求访问 Bloc 时,它才被提供者创建,例如 context.read<MyBloc>
你可以设置 lazy true 当初始化是昂贵的,或者它有一些副作用,即调用 Restful API (不需要调用 API 直到用户做一些动作并懒惰地创建 Bloc) 在另一边你可以将 lazy 设置为 false 以预取数据
我想了解懒惰标志有什么影响。以及设置为true或false的注意事项是什么?
正如 docs 所说:
By default,
Create
is called only when the instance is accessed. To override this behavior, setlazy
to false.
因此,影响是 Create
何时被调用,因此(如果 完全 )您的 BLoC 何时被创建。默认情况下,lazy
是 true
,因此如果您从未访问 BLoC 的实例,则不会创建它。反之,当lazy
为false
时,Widget构建时会立即调用Create
方法
在幕后,价值被传递给底层InheritedProvider。
当它为真时,Bloc 或 Cubit 应该延迟创建,这意味着直到第一次请求访问 Bloc 时,它才被提供者创建,例如 context.read<MyBloc>
你可以设置 lazy true 当初始化是昂贵的,或者它有一些副作用,即调用 Restful API (不需要调用 API 直到用户做一些动作并懒惰地创建 Bloc) 在另一边你可以将 lazy 设置为 false 以预取数据