问题标签 [flutter-provider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1440 浏览

flutter - Flutter Provider 重建不必要的小部件

我正在用颤振的提供者架构构建一个移动应用程序。

根据设计,我正在使用一个带有 changeNotifier 的模型,其中包含一个对象列表。

每当列表对象之一发生变化时,整个列表都会被重建,而这是不应该的。

为了模拟这一点,我创建了一个简单的应用程序,如下所示。顶行是项目列表,而底行是详细的小部件。但是,每当我同时点击列表小部件和详细小部件时,都会重新构建。

这是源代码。 Github 链接

这是示例屏幕截图 图片截图

这是我的问题。

  1. 如何只听子对象?
  2. 我在这里犯了什么错误?
0 投票
4 回答
6524 浏览

flutter - 如果我使用提供程序,如何在应用程序启动时调用方法?

我想在开始时完成get对服务器的请求以获取我的应用程序的数据。我阅读了几个描述如何在构建小部件后运行方法的主题。但所有这些都是描述provider不使用时的情况。而且我不确定在小部件中执行此请求是否是个好主意。

我尝试了几种方法,但都没有成功。这是我的代码:

0 投票
1 回答
38 浏览

flutter - 有 ChangeNotifierList 吗?

是否有实现 ChangeNotifier 的 List 类?基本上,如果将任何内容添加到列表或重新排列列表,它将调用 notifyListeners?

0 投票
1 回答
673 浏览

flutter - 如何从 ChangeNotifier 导航?

我正在学习关于状态管理的provider+ChangeNotifier,但我找不到任何关于如何从ChangeNotifier.

假设我们改进了此处provider_shopper的示例,因此当用户单击“购买”时,会执行一些购买逻辑,然后导航到“订单审核”页面。这个导航应该如何实现?CartModel

我们是否为 提供了回调CartModel,所以它会调用它并触发 UI 上的导航?

0 投票
1 回答
3698 浏览

flutter - FutureProvider 的用例

我想知道该类存在什么用例FutureProvider

我对如何加载异步函数特别感兴趣,比如Future<Contact> getAllContacts() async { ... }当 ui 是用 a或类似的东西构建FutureProvider时。ChangeNotifierProvider

此外,每次notifyListeners()调用时,我都希望该提供程序通过异步调用重建 ui。提供者是否可以这样做,或者我错过了什么?

0 投票
2 回答
1046 浏览

asynchronous - 初始化 BLoC 时应该如何处理异步调用?

我正在使用该包向我的 Flutter 应用程序Provider提供 BLoC 对象(手写,未使用bloc或包)。flutter_bloc我需要进行一些异步调用才能正确初始化 BLoC(例如,设置和其他保存的信息SharedPreferences)。到目前为止,我已经将这些async调用写入了几个单独的函数中,这些函数在我的 BLoC 的构造函数中调用:

我想保证_loadSettings()_loadOtherStuff()在我们进入应用程序太远之前完成,以便依赖于设置/其他内容的代码加载正确的信息(例如,我希望在我出去进行一些网络调用之前加载设置,初始化通知等)。

据我了解,构造函数不能是异步的,所以我不能await在构造函数上。我试过给我的 BLoC 一个init()调用_loadSettings()和/或的函数(或类似的东西) _loadOtherStuff(),但我很难找到一个放置它的好地方。

我应该把这些电话放在哪里?还是我只是误会了async/await

0 投票
1 回答
4260 浏览

flutter - StreamProvider 不更新状态

我正在尝试使用一个StreamProvider(来自这个很棒的包),但我一直在努力让一个特定的流工作。

我创建了一个用于通过其向其StreamController添加数据的. 所有这些似乎都运行良好。但是当它与 a 一起使用时,小部件树不会反映. 但是,使用. StreamSinkStreamStreamProviderStreamStreamBuilder

使用的代码StreamProvider

我一直在寻找为什么这不起作用,但还没有找到答案。但这里有一些我确实发现的东西:

  • 使用 Flutter Desktop Embedding,当窗口调整大小(从而强制重建)时,UI 确实反映了流中的变化。使用热刷新时可以看到相同的效果。
  • 流不断添加新数据,我通过调试测试了这一点,并简单地打印出数据

任何帮助将不胜感激!

0 投票
3 回答
2150 浏览

flutter - 如何从类字段设置提供者值?

我正在使用Provider. 我有课。我需要将值设置为Provider来自字段。但我无权访问context这里。

如何从类字段设置提供者值?

0 投票
1 回答
1442 浏览

flutter - main.dart 的 init 方法中的提供程序

我可以在 main.dart 文件的 init 方法中使用提供程序吗?

我尝试使用 SchedulerBinding.instance.addPostFrameCallback 方法作为回调,但出现异常。

我遇到了一个例外。我不知道如何提升小部件上方的多提供者以使其工作。我试图将其移至 createstate 和 main 方法。我不明白该怎么做。

0 投票
3 回答
10883 浏览

flutter - 如何从没有上下文的类中访问提供者字段?

我正在使用Provider. 我有两个类:class TenderApiData {}它是独立类(不是小部件)。accesstoken我怎么写AppState

我需要accesstoken从独立类中读取\写入的方法。

或者我的应用程序架构有问题?

是完整的源代码。