getx getbuilder使用方法
CounterBinding:
class CounterBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut(() => CounterController());
}
}
CounterController:
class CounterController extends GetxController {
int count = 0;
void increase(){
count += 1;
update();
}
}
CounterPage:
class CounterPage extends StatelessWidget {
final controller = Get.find<CounterController>();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Counter"),
),
body: Center(
child: GetBuilder<CounterController>(builder: (logic) {
return Text("${controller.count}", style: const TextStyle(fontSize: 50),);
}),
),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
onPressed: controller.increase,
),
);
}
}
变量可以是普通的声明方式,也可以转换成反应式变量。
有什么不同呢?简单来说,假如需要使用GetX和Obx,那就需要使用反应式变量。反应式变量在改变时就会通知使用它们的地方,并实时局部刷新。且内部做了优化,若是变量与上一次比相同,那么则不会更新。

浙公网安备 33010602011771号