provider 相关问题

请勿使用 - 正在清理此标签。使用[android-contentprovider],[provider-model]或其他更合适的标签。

何时或在什么情况下我应该在 Flutter Bloc 中使用 RepositoryProvider?

我在没有RepositoryProvider的情况下从api获取数据,但我在文档上看到了RepositoryProvider。 有什么区别?或者我应该使用数据吗? 当我使用 RepositoryProvider 时,我无法更改...

回答 1 投票 0

Flutter - Provider - 将地图添加到列表替换

这里我需要创建一个地图列表。 我正在使用提供程序来保存数据。 但是当我命令 list.add() 时,它也替换了第一个元素。 这是我的代码。 我正在从 firestore 收集中获取数据...

回答 1 投票 0

使用自定义配置提供程序加载配置始终返回空值

嗨,我需要实现自我更新的自定义配置提供程序,它仍然不够动态,但现在就足够了。 这是我一直在使用的示例: https://中...

回答 1 投票 0

在java版本“15.0.1”中安装Bouncy Castle Provider

我需要在 Windows 10 中安装此提供程序。 这是java版本: java版本“15.0.1”2020-10-20 Java(TM) SE 运行时环境(版本 15.0.1+9-18) Java HotSpot(TM) 64 位服务...

回答 1 投票 0

打开失败:在 onActivityResult 中使用 FileProvider 时 EACCES(权限被拒绝)

我正在尝试在 onActivityResult 中获取最近录制的视频。但我不明白这个内容提供商是如何工作的。我不习惯用 Java 为 Android 编程,所以这可能是一件简单的事情......

回答 1 投票 0

如何在单屏上使用提供程序

有没有一种方法可以为单个屏幕提供提供程序,我不断收到错误,无法在小部件树上方找到提供程序。 我尝试了我能找到的唯一解决方案,即将我们的小部件包装在

回答 1 投票 0

Flutter中如何使用Provider在产品数量达到一定值时显示Snackbar

我正在开发一个 Flutter 应用程序,我正在尝试实现产品的数量选择器。期望的行为如下:当单击“添加”按钮时,数量会...

回答 1 投票 0

MultiProvider 在 main 中而不是在树中

在 main 中插入所有提供者是否会影响性能?将各个提供者放在需要他们的树中间是否是更好的选择?

回答 3 投票 0

Flutter 错误 - 由于缺少 MaterialApp 祖先而未显示对话框

我遇到了与 Flutter 应用程序中缺少 MaterialApp 祖先相关的错误。我的应用程序的结构包括 MultiProvider 和 ModularApp 设置,但我仍然收到...

回答 1 投票 0

与泛型和抽象一起使用时出现 ProviderNotFound 异常

我面临着这个非常奇怪和原始的问题,我试图弄清楚但无法解决。 我按照以下方式设计了一个抽象类 抽象类 BaseStatelessWidget 我面临着这个非常奇怪和原始的问题,我试图弄清楚但无法解决。 我按照以下方式设计了一个抽象类 abstract class BaseStatelessWidget<T extends BaseStore> extends StatelessWidget with RouteAware { late final T childStore; BaseStatelessWidget({super.key}); @override Widget build(BuildContext context) { childStore = getImplementedStore(); return Provider( create: <T>(_) => childStore, builder: (ctx, __) { final store = Provider.of<T>(ctx, listen: false); // <== I'm getting error here for providerNotFound excepton store; return _BaseStatefulWidget<T>( builder: buildScreen, ); }, ); } Widget buildScreen(BuildContext context); T getImplementedStore(); } 这是我实现上述抽象类的方式, class Counter extends BaseStatelessWidget<CounterStore> { Counter({super.key}); @override Widget buildScreen(BuildContext context) { return Scaffold( body: Container( color: AppColors.white, child: Column( children: [ Observer( builder: (ctx) { return Text( '${getStore<CounterStore>(ctx).counter} Times Clicked', ); }, ) ], ), ), floatingActionButton: FloatingActionButton( onPressed: () { getStore<CounterStore>(context).increment(); }, child: const Icon(Icons.add), ), ); } @override CounterStore getImplementedStore() { return getIt<CounterStore>(); } } T getStore<T extends BaseStore>(BuildContext context) { return Provider.of<T>(context, listen: false); } 一旦我调用 Provider.of 方法来获取注入的对象,我就会收到异常。 有人可以指出,如果我在这里遗漏了什么吗?? 声明提供者时,删除创建函数中的返回类型: abstract class BaseStatelessWidget<T extends BaseStore> extends StatelessWidget with RouteAware { late final T childStore; BaseStatelessWidget({super.key}); @override Widget build(BuildContext context) { childStore = getImplementedStore(); return Provider( create: (_) => childStore,//Drop the return type builder: (ctx, __) { final store = Provider.of<T>(ctx, listen: false); return Text(store.value()); }, ); } T getImplementedStore(); } 尝试了同样的方法,并能够按预期获得提供商的价值。 经过深入研究,我找到了一个解决方案,可能会对遇到类似问题的其他人有所帮助。 provider 包提供了两种创建provider 的方法: 使用提供程序(create: (context) => TExtends()) 利用 Provider.value(value: TExtends())。 需要注意的是,第一种方法缺乏抽象支持。尝试直接从上下文访问T将导致异常。这是因为提供的对象将代表 T 的 implementation,而不是 T 本身。 如果您的目标是获取 T 而不是 TExtends 的实例,我建议选择第二种方法。这将使您解决问题。 这是一个示例实现: abstract class BaseStatelessWidget<T extends BaseStore> extends StatelessWidget with RouteAware { late final T childStore; BaseStatelessWidget({super.key}); @override Widget build(BuildContext context) { childStore = getImplementedStore(); return Provider<T>.value( // <== This will solve the issue value: childStore, builder: (ctx, __) { final store = Provider.of<T>(ctx, listen: false); // You'll get instance of T, instead of childStore's instance store; return _BaseStatefulWidget<T>( builder: buildScreen, ); }, ); } Widget buildScreen(BuildContext context); T getImplementedStore(); }

回答 2 投票 0

如何在Flutter中比较两个PIN是否相同?

这是我的屏幕,最初会显示文本“Set PIN for your Card Ending With XXXX”。当用户输入 PIN 的第 4 位数字时,屏幕会自动将此文本更改为...

回答 1 投票 0

登录后如何从 Rest API 获取 Flutter Provider 状态?

我想知道从 API 获取我需要的所有 Provider 状态的最佳方法是什么。登录后我不会在主屏幕上执行此操作,因为当我

回答 1 投票 0

如何比较两个PIN是否相同?

这是我的屏幕,最初会显示文本“Set PIN for your Card Ending With XXXX”。当用户输入 PIN 的第 4 位数字时,屏幕会自动将此文本更改为...

回答 1 投票 0

Flutter 中 getbuilder 、 Obx 或 Getx 哪些情况需要使用

在 flutter 中我应该在哪里使用 GetBuilder、GetX 或 Obx?我在网上看到了一些答案。但你能分享一个简单的解释吗? 当我想从 firebase 读取数据时我应该使用哪一个

回答 3 投票 0

Roblox API 登录端点验证码提供程序

我正在尝试通过 roblox 的 API 登录,问题是我使用 reCaptcha 并且正文请求中有一个名为“captchaProvider”的字段,我尝试过类似 G...

回答 1 投票 0

使用 ChangeNotifierProvider 解决 FutureBuilder 问题

我有一个名为 page1 的类,在其中我有一个 ChangeNotifierProvider 和一个作为子级的消费者,其中有一个 FutureBuilder 作为子级,这里是它的代码 类 Page1 扩展

回答 1 投票 0

Flutter 上下文对 null 值使用 Null 检查运算符

我希望获得有关如何避免某些用户出现此问题的指导。这不是一般性错误。 似乎 flutter 在我的应用程序的初始化流程中禁用/处置上下文。 我是...

回答 3 投票 0

使用 Provider 替换 Flutter 中的 Widget

我在我的 Flutter 应用程序项目中使用 Provider 状态管理。 实际上,它的 OTP 屏幕分为 Widget: 输入电话号码小部件, 输入 OTP 小部件。 我无法更换我的第二个...

回答 1 投票 0

Flutter Provider - 复选框未选中

下面是我的 ViewModel 类: 类 SignInViewModel 扩展 ChangeNotifier { var isRememberMeChecked = false; 最终 TextEditingController emailC = TextEditingController(); 最后

回答 1 投票 0

flutter 如何让我的代码与监听器或回调一起工作? (编辑)

我想要实现的是,当我在 WelcomeScreen 类中添加新食物时,我希望在 FoodList 类中重新呈现我的食物对象列表。下面我有两个类的相关代码......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.