问题标签 [flutter-hooks]
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.
flutter - 尽管更新了提供程序,但 Flutter Hooks Riverpod 未更新小部件
我已经研究 Flutter 几个月了,现在我正在试验 Hooks 和 Riverpod,这非常重要,因此提供者可以缓存一些结果并重复使用,并且只有在有更新时才真正重新获取。
但是我在这里遇到了一个问题,即我无法围绕提供程序更新来反映在小部件中。可以从这里查看完整示例 -> https://github.com/codespair/riverpod_update_issue我添加了一些调试打印,我可以看到提供程序已正确刷新,但更改不会反映在小部件上。
该示例有一个工作示例提供程序:
更改时下拉列表刷新提供程序:
还有一个简单的列表,它使用提供者元素进行渲染,尽管提供者被正确刷新,正如您在 debugPrinting 中看到的那样,它永远不会更新:
在评估开发某些应用程序的方法时,我倾向于采用更直接的方法来处理此类情况,因此我也愿意评估更简单、更直接的方法,但我真的很喜欢一些功能,例如来自 hooks_riverpod 的 useMemoized、useState .
flutter - 颤振钩子。在哪里“请求权限”,因为它没有 initState
我正在学习 Flutter Hooks,但是当您需要具有通常在 initState 中的特定权限请求时,我找不到任何关于使用什么的信息,例如:
现在迁移它以使用钩子 initState 和 dispose 不是“需要的”,因为它可以为您处理这在许多情况下都很好,但我无法理解在哪里放置这种类型的请求权限?
使用时如何请求这些权限class HomePage extends HookWidget
?
flutter - 从对话框访问提供程序以获取 Flutter 钩子
我是 Flutter hooks 和 riverpod 的新手
基本上我有一个提供者将书籍列表存储在书架中。
然后我有一个显示书籍的页面和一个显示创建新书对话框的创建按钮:
但是,我无法访问对话框中的提供程序值:
注意事项:
- 我有一个 ProviderScope 包装我的应用程序。
- 我没有问题持续存在或访问不同页面上的提供者或驻留在页面上的任何子小部件,但我无法从对话框中访问提供者值。
- 当然,我可以将提供者的值作为参数传递给对话框,但我想知道是否有任何方法可以避免这种情况,因为我从提供者那里获得了很多值。
我可以知道如何解决这个问题吗?非常感谢!
flutter - Riverpod ProviderListener - 'StateNotifierProvider' 不能分配给 'ProviderBase
我正在尝试使用 Riverpod 的 ProviderListener 来监听我的 authProvider 并控制用户是否被授权时显示的页面。我收到错误:
错误:无法将参数类型“StateNotifierProvider<Auth, bool>”分配给参数类型“ProviderBase<Object, StateController>”。
错误显示在:Provider:authProvider,在 ProviderListener 内
我想知道这是否是由于 StateNotifierProvider 的更新?
我想知道如何更好地使用 ProviderListener,即使有更好的方法来处理授权流程(我非常愿意接受反馈和批评,非常感谢有人可以随时提供帮助)。我删掉了不相关的代码
flutter - 使用 Flutter Hooks 实现 Flutter 过渡
我正在尝试FadeTransition
在Flutter Hooks
.
我正在使用布尔值来显示或隐藏带有淡入淡出过渡动画的小部件。
我怎样才能做到这一点,请帮忙?谢谢
flutter - StateNotifierProvider 不使用 HookWidget 更新状态
我正在尝试使用Riverpod
状态管理。我有两个TextFormField
,我想Text
通过使用 a 在每个字段中输入的值的总和来设置 a 的值StateNotifierProvider
。
在下面的代码中,CashCounterData
是要使用的数据模型StateNotifier
, CashCounter
。通知程序有两个方法,setCount
在eachsetCash
的方法中调用。onChanged
TextFormField
接下来,我实现了 UI 并试图配合StateNotifierProvider
上面定义的内容。但是,当我在 each 中输入值时TextFormField
,Text
小部件总是显示0
.
我缺少什么来获得我想要的行为?
flutter - HookConsumerWidget 仍然是 hooks_riverpod.dart 的一部分吗?
我正在构建一些示例 hooks_riverpod 应用程序,但我收到一个错误,即 HookConsumerWidget 不是 dart 类。这仍然是最新版本中的有效小部件还是已更改?谢谢。
flutter - 在哪里/何时使用 StateNotifier 控制器执行排序、分组等操作?
我想知道在使用 RESTFUL API 完成 HTTP 请求后何时/何地执行操作。我使用 StateNotifdier 作为 Controller 来执行简单的 CRUD 操作,例如retrieveItems
、和.addItem
updateItem
deleteItem
例如,我需要对我的 UI 进行排序、分组、过滤和获取最后 n 个项目,因为我必须显示当天、本周的一些统计信息,并显示当月的项目列表。这种UI仪表板实际上。根据您的意见在哪里编码?我需要为这些操作中的每一个创建一个新的提供者吗?
flutter - 有条件地使用 useFuture
我一直在使用 flutter-hooks 的useFuture方法,但我需要有条件地使用它(在这种情况下基于用户输入)。我找到了这种方法,但我需要知道是否有更好的方法:
使用useState存储选择了哪些数据,如果选择了一些数据,则将 future 从 null 更改为实际的 future。示例代码:
flutter - 如何使用 FlutterHooks useEffect 刷新 Riverpod FutureProvider
我正在使用颤振钩子开发移动应用程序。我想使用 useEffect 刷新 Riverpod FuttureProvider,但效果不佳...
我的代码是
当点击 TextButton 时,刷新工作正常。(我可以看到“正在加载...”文本。)但是,由 useEffect 编写的刷新仅更新数据并且看不到“正在加载...”文本。
我该如何重写它。