اگر صرفا یک Screen داشته باشیم که فقط به یک Controller وابسته است، بجای استفاده از StatelessWidget میشه از GetView استفاده کرد، در صورت استفاد از GetView به صورت خودکار و بدون استفاده از Get.find یک نمونه از Controller خواهیم داشت. اگه یه کوچولو عمیق تر بشیم GetView از کلاس StatelessWidget ارثبری شده و باعث میشه به کنترل وابسته به اسکرین، دسترسی سریع تری داشته باشیم، در نتیجه ساختار کد اپتیمایز شده ای خواهیم داشت. بعد از استفاده از GetView به راحتی میتونیم با استفاده از کلید واژه controller به متد ها و داده های وابستگی ، دسترسی داشته باشیم.
نمونه:
class ShopPage extends GetView<ShopController> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('SHOP')),
body: Column(
children: [
Obx(() => Text('Total: ${controller.total}')),
Flexible(
child: Obx(
() => ListView.builder(
itemCount: controller.list.length,
itemBuilder: (context, item) {
String produto = controller.list[item];
return ShopItem(produto: produto);
},
),
),
),
],
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {
controller.addLista();
},
),
);
}
}
هشدار :
همونطور که همیشه گفتم GetX رو به عنوان یه مهارت لازم کار یابی یا برای توسعه پروژه های خودتون با روش سریع میتونید راهی مناسب و مطمعن بدونید
اما هیچوقت ارتقاء دانشتون در Bloc ، فلاترِ عمیق و… رو متوقف نکنید.