tiny_react 1.0.0
tiny_react: ^1.0.0 copied to clipboard
tiny_react is a syntax sugar for ValueNotifier and ValueListenableBuilder.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:tiny_locator/tiny_locator.dart';
import 'package:tiny_react/tiny_react.dart';
class MyController {
final num = 0.notif;
final list = <int>[].notif;
void doSomething() {
num.value++;
if (num.value % 2 == 0) {
list
..value.add(num.value)
..notifyListeners();
}
}
}
void main() {
locator.add(() => MyController());
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyPage(),
);
}
}
class MyPage extends StatelessWidget {
final controller = locator.get<MyController>();
MyPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('MyPage')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
controller.num.build((val) => Text('$val')),
controller.list.build((val) => Text('$val')),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () => controller.doSomething(),
child: const Icon(Icons.add),
),
);
}
}