Kev*_*vin 5 dart flutter swiftui
我在开始学习 flutter 之前学习了 SwiftUI,但我无法理解如何在 SwiftUI 中拥有类似于环境对象的东西?
我能想到的一个解决方案是使用单例,但我不确定使用单例是否是一个好的颤振架构解决方案。
例如,在 SwiftUI 中,您将像这样访问数据:
struct MyView: View {
@EnvironmentObject DataController data
var body: some View {
Text(data.title)
}
}
Run Code Online (Sandbox Code Playgroud)
看起来DataController像这样:
class DataController {
title = "Hello!"
}
Run Code Online (Sandbox Code Playgroud)
另一方面,在颤振中,如果我使用单例,它将如下所示:
class MyWidget extends StateLessWidget {
@override
Widget build(BuildContext context) {
return Text(DataController.data.title);
}
}
Run Code Online (Sandbox Code Playgroud)
颤动中DataController使用的是singleton:
class DataController {
static DataController data = DataController();
title = "Hello!";
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来实现此功能,而无需使用提供程序包将参数和值传递到小部件树中?
| 归档时间: |
|
| 查看次数: |
387 次 |
| 最近记录: |