美文网首页Flutter
Flutter状态管理

Flutter状态管理

作者: 挣扎在黑暗中的码畜 | 来源:发表于2019-08-15 00:12 被阅读0次

    Flutter状态管理
    ScopedModel 垃圾
    Redux 咸鱼的 太大
    bloc 也还行
    StatefulWidget 耦合度高
    Provide 谷歌亲儿子

    DEMO

    1.添加依赖
    provide: ^1.0.2 #状态管理依赖

    2.创建数据仓库counter.dart

    class Counter with ChangeNotifier{//ChangeNotifier:实现可监听的简便方法
      int value = 0;
      ///相加的方法
      increment(){
        value++;
        ///可以通知我们的听众 值改变了 局部刷新widget
        notifyListeners();
      }
    }
    

    3.app顶层的设置main.dart

    void main() {
      var counter = Counter();
      var providers = Providers();
      ///注册依赖
      providers..provide(Provider<Counter>.value(counter));
      runApp(ProviderNode(child: MyApp(),providers: providers));
    }
    

    4.页面中使用
    -读

    class Number extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          child: Provide<Counter>(
            builder: (context,child,counter){
              return Text("${counter.value}");
            },
          )
        );
      }
    }
    

    -写

    class Button extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
            child: RaisedButton(
              child: Text("递增"),
              onPressed: () {
                print("点击了按钮");
                Provide.value<Counter>(context).increment();
              },
            ));
      }
    }
    

    相关文章

      网友评论

        本文标题:Flutter状态管理

        本文链接:https://www.haomeiwen.com/subject/yqnojctx.html