问题标签 [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.

0 投票
1 回答
1405 浏览

flutter - 如何在颤动中测试 showDialog 内容?

有没有办法在显示对话框中测试内容?我正在尝试在项目中做 BDD,以下是场景:

As a User, I would like to add a photo or select one from the gallery so that I can use it on the item.

以下是我用来测试它的代码,但由于某种原因,测试失败了。

add_item_view.dart

add_item_view_test.dart

有没有办法对 showDialog 函数进行测试?

0 投票
1 回答
2129 浏览

flutter - Riverpods with hooks Flutter - 使用 Provider

有人可以举一个最好使用riverpod_hooks在Riverpods中进行额外状态修改的示例 - 我希望能够在不制作额外小部件的情况下使用它,例如:

我在理解 Riverpods 文档中关于在实施后使用提供程序方面有点困难。我了解增量部分 .state++,但我找不到初始化后更改状态值的明确示例。如 x 初始化为零,但您只想将其设为 42 或输入值。

例如,我有一个 Gender {male, female, non-binary} 的枚举,并且我创建了一个 GenderProvider,但我无法找出能够使用按钮在我的应用程序中更改性别的最佳方法。我也不完全确定 Provider 和 RiverPods 有多少相似之处,似乎有很多语义差异?

这就是当前在我的代码中声明提供程序的方式:

在此先感谢,我很感激任何建议。

0 投票
0 回答
323 浏览

flutter - 如何在 Flutter Hooks 中使用 didChangeAppLifecycleState

我正在使用带有钩子的 Flutter,并且我正在尝试获取应用程序生命周期状态。我遵循文档并创建了新的钩子(代码如下所示),它适用于所有情况,但有一个例外。当应用程序状态变为“暂停”时,钩子不会将值返回给小部件。我不清楚此时该做什么。有人建议使用 Isolates,但我不明白这有什么帮助。更新应用程序生命周期的计算成本并不高。

请让我知道我还能做些什么来完成这项工作。谢谢

谢谢你的帮助。

0 投票
1 回答
854 浏览

flutter - Flutter 中的 Riverpode 和 Hooks,如何实现 StateNotifier 进行异步调用?

我是新来的,最近我决定研究提供者,以便能够重用我使用FutureBuilder 的一些 sqlite DB 调用,正如其他问题中所建议的那样

在阅读了它之后,我开始使用riverpod_hooks,但我被卡住了。

目前我有一个提供程序来从 sqlite 获取数据:

我可以成功地使用它来呈现图表并显示列表:

我目前遇到的问题是每当将新元素添加到数据库中时向小部件发出通知,这是在另一个屏幕/小部件中完成的,在使用提供程序之前我会使用 setState 但现在我知道我应该实现可能的 StateNotifier 但我我错过了与从上面提供程序片段中使用的数据库返回的异步调用集成的正确方法。

非常感谢任何正确方向的指针。

更新解决方案:根据下面接受的答案,我使用了 context.refresh ,它完全符合我的要求:

因此,当从编辑/添加屏幕返回时,提供程序上下文会刷新,并且图表和列表的状态会自动更新。

0 投票
0 回答
44 浏览

flutter - 错误状态:Stream 已被收听。(useStream 不会关闭流)

在我的HookWidget,我打电话:

不幸的是,当返回同一个屏幕/导航时,我得到Bad state: Stream has already been listened to.. 这可能是因为之前的流没有关闭,并且无法再次收听。

为什么不useStream关闭流,或者我必须这样做(如何?,它在 build 方法中创建,因此可以在 dispose 中关闭)?service包含StreamController一个:

0 投票
0 回答
77 浏览

flutter - Flutter:如何使用钩子来改变 textformfield 中文本的可见性?

我正在尝试将我的TextFormField逻辑转移到钩子上,但我正在尝试的是似乎不起作用。

我的自定义钩子,

我是钩子的新手,我不知道我可以使用useState()并且useEffect(),如果有人可以提供帮助

0 投票
0 回答
392 浏览

flutter - Flutter:如何使用钩子重建 UI 的特定部分?

我试图将我的TextFormField逻辑移动到颤振钩子上,所以我有密码字段,我想在其中实现obscure文本。所以点击按钮它应该隐藏/取消隐藏文本。现在我使用setState()钩子来做到这一点,但它重建了整个 UI 并将焦点移动到第一个字段,因为我已经为第一个字段设置了 autoFocus,所以我如何确保它只重建特定的 TextFormField。

我的自定义钩子文件,

如果有人可以帮忙?

0 投票
1 回答
317 浏览

flutter - 在 useEffect 中读取 riverpod 流值

我想从列表流中读取第一个值useEffect以选择返回列表中的第一个值。我该如何以不同的方式做到这一点。

重新启动时显示错误。

我在用hooks_riverpod

0 投票
1 回答
1802 浏览

flutter - Flutter Hooks 和异步调用

前面有一些菜鸟问题。

我在我的应用程序中使用 Flutter Hooks,但在尝试使用带有异步调用的钩子时遇到了困难。

例如,如何通过 useMemoized(或任何其他带有钩子的异步数据)获取 SharedPreferences?

上面的代码不起作用,因为“无法将参数类型'Future Function()' 分配给参数类型'SharedPreferences Function()'。”,但是如何完成呢?

我希望存储 SharedPreferences 实例以用于读取和写入值。


下面显示了一个如何完成工作的真实示例,但我想知道是否有更好的方法。

0 投票
2 回答
3493 浏览

flutter - 错误“pumpAndSettle 超时”可能是由于riverpod

我被小部件测试困住了,我可以使用一些帮助
来重现行为请运行下面的代码示例

运行应用程序一切都很好

但未通过此测试

有了这个输出


环境是

Flutter version 2.2.0-11.0.pre.176

任何帮助表示赞赏