美文网首页
Flutter Provider用法记录

Flutter Provider用法记录

作者: xieyinghao | 来源:发表于2023-06-02 20:30 被阅读0次

    用法
    1.添加依赖包
    在pubspec.yaml中添加Provider包

    dependencies:
      # State
      provider: ^3.0.0+1 //这里实际的版本号请在pub仓库中查看最新版本后填写
    

    2.创建Model
    这里实际上它承担了State的职责,但是为了和官方的State区分所以叫做model

    import 'package:flutter/material.dart';
    
    class Model with ChangeNotifier{
    }
    

    3.在main.dart中添加要用的所有Provider
    1.导入包

    import 'package:provider/provider.dart';
    

    2.添加Provider
    一般有两种方式,分别对应一个和多个Provider实例的时候,可以根据应用场景自行选择

    1.单个Porvider,用ProviderNode

    void main() {
      var providers = Providers();
    
    //将构造号的Model对象添加进providers
      providers.provide(Provider<Model()>.value(Model));
    
      runApp(
        ProviderNode(
            child: MyApp(), 
            providers: providers),
        );
    }
    
    

    2.多个Provider,用MultiProvider

    void main() {
      var providers = Providers();
    
    //将多个Model对象添加进providers
      providers
      ..provide(Provider<Model()>.value(Model))
      ..provide(Provider<Model1()>.value(Model1))
      ..provide(Provider<Model2()>.value(Model2));
    
      runApp(
        MultiProvider(
            child: MyApp(), 
            providers: providers),
        );
    }
    

    3.获取并使用
    Model model = Provider.of<Model>(context);

    相关文章

      网友评论

          本文标题:Flutter Provider用法记录

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