Jonatas

improve MixinBuilder

@@ -3,27 +3,7 @@ import 'package:flutter/widgets.dart'; @@ -3,27 +3,7 @@ import 'package:flutter/widgets.dart';
3 import 'package:get/src/state_manager/rx/rx_interface.dart'; 3 import 'package:get/src/state_manager/rx/rx_interface.dart';
4 import 'rx_impl.dart'; 4 import 'rx_impl.dart';
5 5
6 -Widget obx(Widget Function() builder) {  
7 - final b = builder;  
8 - return Obxx(b);  
9 -}  
10 -  
11 -/// it's very very very very experimental  
12 -class Obxx extends StatelessWidget {  
13 - final Widget Function() builder;  
14 - Obxx(this.builder, {Key key}) : super(key: key);  
15 - final RxInterface _observer = Rx();  
16 6
17 - @override  
18 - Widget build(_) {  
19 - _observer.subject.stream.listen((data) => (_ as Element)..markNeedsBuild());  
20 - final observer = getObs;  
21 - getObs = _observer;  
22 - final result = builder();  
23 - getObs = observer;  
24 - return result;  
25 - }  
26 -}  
27 7
28 /// The simplest reactive widget in GetX. 8 /// The simplest reactive widget in GetX.
29 /// 9 ///
@@ -36,6 +36,6 @@ class MixinBuilder<T extends GetxController> extends StatelessWidget { @@ -36,6 +36,6 @@ class MixinBuilder<T extends GetxController> extends StatelessWidget {
36 id: id, 36 id: id,
37 didChangeDependencies: didChangeDependencies, 37 didChangeDependencies: didChangeDependencies,
38 didUpdateWidget: didUpdateWidget, 38 didUpdateWidget: didUpdateWidget,
39 - builder: (controller) => obx(() => builder.call(controller))); 39 + builder: (controller) => Obx(() => builder.call(controller)));
40 } 40 }
41 } 41 }
@@ -33,7 +33,7 @@ void main() { @@ -33,7 +33,7 @@ void main() {
33 child: Text("increment"), 33 child: Text("increment"),
34 onPressed: () => controller.increment(), 34 onPressed: () => controller.increment(),
35 ), 35 ),
36 - obx(() => Text( 36 + Obx(() => Text(
37 'Obx: ${controller.map.value.length}', 37 'Obx: ${controller.map.value.length}',
38 )) 38 ))
39 ]), 39 ]),