#flutter #dart #swiftui
#flutter #dart #swiftui
Вопрос:
Я изучил SwiftUI, прежде чем начать изучать flutter, и я не мог понять, как создать что-то похожее на объект среды в SwiftUI?
Одно из решений, о котором я мог подумать, — это использование одиночных элементов, но я не уверен, что использование одиночных элементов является хорошим решением для архитектуры flutter.
Например, в SwiftUI вы могли бы получить доступ к данным следующим образом:
struct MyView: View {
@EnvironmentObject DataController data
var body: some View {
Text(data.title)
}
}
И DataController
это будет выглядеть так:
class DataController {
title = "Hello!"
}
С другой стороны, в flutter, если я буду использовать singleton, это будет выглядеть так:
class MyWidget extends StateLessWidget {
@override
Widget build(BuildContext context) {
return Text(DataController.data.title);
}
}
И DataController
в flutter используется singleton
:
class DataController {
static DataController data = DataController();
title = "Hello!";
}
Есть ли лучший способ достижения этой функции без передачи аргументов и значений по дереву виджетов с помощью пакета поставщика?
Ответ №1:
Я на самом деле пытаюсь решить ту же проблему, но я думаю, что пакет поставщика может быть правильным выбором. На pub.dev есть множество хороших руководств и полное руководство по установке