原子核
一个用于 Dart 的原子状态管理库。
设计目标
- 简洁 – 简洁的 API,没有惊喜
- 性能 – 允许数百万个
Atom没有高惩罚 - 可组合性 – 轻松创建您自己的功能
快速示例
使用flutter_nucleus包的示例。
首先声明您的原子
final counter = stateAtom(0);
然后在您的小部件中使用它们
class CounterText extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AtomBuilder((context, watch, child) {
final count = watch(counter);
return Text(count.toString());
});
}
}
class CounterButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
final updateCount = context.updateAtom(counter);
return ElevatedButton(
onPressed: () {
updateCount((count) => count + 1);
},
child: const Text("Increment"),
);
}
}
或者,如果您使用的是flutter_hooks
class CounterText extends HookWidget {
@override
Widget build(BuildContext context) {
final count = useAtom(counter);
return Text(count.toString());
}
}