Flutter 一款新的、优雅地状态管理库:Obx

Obx 优雅地状态管理库

Obx 从名字到使用方式,处处都显露着优雅,它的说明仅仅需要两张截图:

carbon_user.png

carbon_page.png

特性

  • Obx 不需要顶部包裹.
  • Obx 使用 memo 来拦截不必要的更新,就像 React.useMemo.
  • Obx 非常易于使用,仅有两个 API: ob, next

安装 Obx

编辑 pubspec.yaml:

dependencies:
  obx:
复制代码

整体解释

实例一个 user 对象,继承于 Obx

// Definition Obx
class User extends Obx {
  String name = "dog";
}

// Instance, use some widgets
var user = User();
复制代码

订阅一个更新:

user.ob(()=>Text(user.name))
复制代码

派发所有 user.ob 的订阅更新

user.next()
复制代码

更好的性能

使用 memo 可选参数, 就像 React.useMemo 仅仅当数组中的对象有变化才会更新.

仅当 user.name 改变时,才会更新的例子:

user.ob(
  () => Text(user.name), 
  memo: ()=>[user.name],
);
复制代码

这就可以用起来了,这就是所有。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享