原子核

一个用于 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());
  }
}

GitHub

查看 Github