gpt4 book ai didi

Flutter 状态管理 (BloC) : Stateless vs Stateful widget

转载 作者:行者123 更新时间:2023-12-03 02:39:31 29 4
gpt4 key购买 nike

所以我正在阅读Bloc用于状态管理 flutter .

由于 Bloc 允许您下沉和流式传输(根据输入重建小部件),那么是否有可能主要使用无状态小部件来构建应用程序?

例如,假设我制作了许多单个无状态类小部件,因此几乎所有东西都被划分为自己的无状态小部件。

使用 Bloc 状态管理,我可以简单地重建某个无状态的子小部件来反射(reflect)更改。

在这种方法中,我认为不需要使用有状态小部件。当然,作为flutter的初学者,我想听听这种方法是否有任何优点。

这是一个好方法吗?任何信息将不胜感激。

最佳答案

你是对的,你只能使用 StatelessWidgets。你只需要知道你在哪里创建你的集团。某些实例化方法比其他方法更容易测试,例如将 bloc 作为参数传递给 StatelessWidget。
但是为了实现,我喜欢 flutter_bloc最好的图书馆:
https://pub.dev/packages/flutter_bloc
它包括 BlocProvider它自动处理组的创建和处置。
另一件需要注意的事情是,你经常需要在一个集团中启动一个事件来执行一些操作和一个 StatefulWidgetinitState 中运行它可能很有用方法。
你可以在 StatefulWidget 中说:

initState(){
_myBloc = SomeBloc()..add(SomeEvent());
}

// Then somewhere in your widget tree
BlocProvider<MyBloc>(
create: (context) => _myBloc,
builder: (context, state) {},
)
或者,在您的 StatelessWidget 中:
BlocProvider<MyBloc>(
create: (context) => MyBloc()..add(SomeEvent()),
builder: (context, state) {},
)
你会发现什么最适合你,但我发现 Flutter 主要取决于特定功能的情况和目标。没有必要让自己养成总是需要使用 StatelessWidget 的习惯,但您是对的,这是可能的。

关于Flutter 状态管理 (BloC) : Stateless vs Stateful widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58864869/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com