问题标签 [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 投票
1 回答
10777 浏览

flutter - Flutter - 了解 Provider、Bloc 的生命周期以及何时处置流

需要了解什么时候应该Bloc模式和Bloc的生命周期(如何释放持有内存的对象)

我有一个屏幕,我正在从服务器获取数据,并且数据将仅用于单个屏幕。我正在使用 Bloc 模式来显示数据。

使用 Bloc 模式时,我有一个使用 StatelessWidget 的屏幕。我正在尝试处理“WillPopScope”上的流。一旦处理完毕,流就不能再使用了。因为访问同一个屏幕会导致崩溃,因为我已经用 Bloc 包装了 MaterialApp。

  1. 创建了一个流
  1. 处理流
  1. 在提供者中包装 Material App:
  1. Statelesswidget 'WillPopScope',我评论了代码的处置,因为据我了解,当前 bloc 已创建一次:

第一个问题,假设我创建了一个广播流并删除了“WillPopScope”中的代码处置,那么一切都按预期工作,但我认为,这样,我的 Bloc 为应用程序的生命周期保留了一个内存。

第二个问题,如何处理在屏幕内使用数据的情况。在这种情况下推荐使用 Bloc 模式吗?

0 投票
2 回答
786 浏览

flutter - Flutter:BLoC 包 - bloc 提供者

我正在使用这个包:https ://pub.dartlang.org/packages/bloc 。我有 2 个视图:在第一个视图中,我使用“bloc1”显示元素列表,并且通过 FloatingActionButton,我可以导航到使用“bloc2”的第二个屏幕。在第二个屏幕中,我想通过“bloc1”的 Bloc 提供程序将一个元素添加到我以前的列表中,这样我就可以执行类似bloc1.dispatch(addElement). 我的问题是:如何声明 bloc1 的 bloc 提供者?例如: Bloc bloc = BlocProvider.of<Bloc1>(context)

0 投票
2 回答
17342 浏览

flutter - 错误:在此小部件上方找不到正确的提供程序

此屏幕是一个抽屉屏幕,它采用 auth bloc 以向用户提供信息并使他能够注销。尽管我使用了正确的提供程序,但我收到了这个错误

我想知道为什么使用 Provider.of(context) 不起作用,调用它时找不到它的问题。

这就是我打电话给抽屉的地方

0 投票
3 回答
2883 浏览

flutter - BLoC:如何通过?

我想知道通过集团的最佳方式。我阅读了有关 bloc 提供程序的信息,但是使用它们与仅在构造函数中传递 bloc 有什么区别,例如:

实际上,我发现这种方式更容易测试,也是保持代码更清洁的更好方式。例如,如果我有更多的集团,可能会发生这样的事情:

或者这只是我缺乏知识。那么,有哪些好处呢?

0 投票
1 回答
3732 浏览

flutter - 在此消费者小部件上方找不到正确的提供者

我正在尝试使用 library Provider 的 multiprovider。但它不起作用,因为尽管材料之前的上部小部件是 MultiProvider,但它无法找到正确的提供者。

我已经尝试导入任何东西,但它仍然无法正常工作

那是我可以调用 Provider.of 的地方

0 投票
1 回答
574 浏览

flutter - 从监听 socket.on 获得响应后如何更新特定小部件?

我有 2 个单独的类,Socketio 类和 HomePage 类。我想在 Socketio 类中的 socket.on 得到响应后更新 HomePage,如何从 Socketio 类更新 HomePage 中的小部件?

我尝试使用提供程序库,但没有如何使用 Listenable 提供程序

那么如何从一个类中触发 setState 特定的小部件/页面呢?

0 投票
3 回答
15474 浏览

flutter - Setting provider value in FutureBuilder

I have a widget that makes a request to an api which returns a map. What I would like to do is not make the same request every time the widget is loaded and save the list to appState.myList. But. when I do this appState.myList = snapshot.data; in the FutureBuilder, I get the following error:

sun.dart file:

postService.dart file:

I understand that the myList calls notifyListeners() and that's what causes the error. Hope I got that right. If so, how do I set appState.myList and use in the app without getting the above error?

0 投票
0 回答
151 浏览

flutter - Flutter Navigation 参数不会在更改时更新?

我的顶级小部件显示一个可以进入的游戏列表。当有人点击游戏时,他们会通过

到一个名册小部件,这将帮助他们选择他们的团队。用户将尝试编辑花名册,然后小部件依次ChangeNotifierProviderProvider库中请求 a 更新其状态。然后provider将通知我的顶级小部件名册已更改。它成功更新并接收更新的花名册 - 但相同的更新花名册不会通过 传递,MaterialPageRoute并且用户无法看到他们已经更新了任何内容。

通过导航传递的属性的这种预期行为是否只传递一次,或者我错过了什么?

0 投票
3 回答
8616 浏览

flutter - How can I Initialize provider?

I have implemented Provider for state management in my app. Now, I need to add some data in the class once the screen is loaded.

How I can achieve this?

I have tried to call this method from initState but it's giving error!!

Error!! flutter: The following ProviderNotFoundError was thrown building Builder: flutter: Error: Could not find the correct Provider above this AdminAddVaccination Widget flutter: flutter: To fix, please: flutter: flutter: * Ensure the Provider is an ancestor to this AdminAddVaccination Widget flutter: * Provide types to Provider flutter: * Provide types to Consumer flutter: * Provide types to Provider.of() flutter: * Always use package imports. Ex: `import 'package:my_app/my_code.dart';

0 投票
1 回答
3576 浏览

flutter - Flutter:提供者是 BLoC 模式的替代品吗?

我知道颤动中的 BLoC 就像 android 的 MVVM 中的视图模型层一样,因此不会在配置更改时一次又一次地获取数据(例如:屏幕方向的更改)。

如果提供者替换了 BLoC 模式中 RxDart 的功能,或者它替换了 BLoC 模式本身的角色,我会感到困惑。

此外,如果我根本不使用 BLoC,那么该应用程序是否会在配置更改后继续存在。

请解释提供者对 BLoC、RxDart 组合的限制以及一些用例。