问题标签 [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 回答
329 浏览

flutter - 使用带有 Flutter Hooks 的 video_player 包播放背景全屏视频

我有一个主屏幕小部件,它使用 video_player 包播放全屏背景视频。这段代码对我来说很好:

问题是,如何使用颤振 Hooks 来实现这一点?我知道我必须使用 useEffect() 来实现 initState() 和 dispose()、useFuture() 的功能,也许还有 useMemoized() 来处理异步 _controller.initialize() 调用,还有什么可能?但是,我无法将它们粘合以获得所需的结果。任何人都可以向我指出上述代码的“使用 Hooks”实现吗?

0 投票
1 回答
839 浏览

flutter - 颤振挂钩 useContext 示例

是否有 useContext() 函数示例的示例?我想用

在许多钩子小部件中,我不确定它是否足以在初始化时将其包装在 useEffect 函数中。

0 投票
1 回答
833 浏览

flutter - 使用 flutter_hooks 进行不必要的重建

我正在尝试一起使用StateNotifier, Provider,flutter_hooksfunctional_widget

我在小部件层次结构中看到了我不期望它们的重建。我在下面设置了一个简单的用例。

我的集团有一个updateName()定义为的方法

作为测试,我在按下 MenuItems 之一或用户点击Update Name按钮时调用此方法。我的期望是,当按下并更新updateName()StateNotifiers时,只会调用 build 函数,因为它是唯一通过以下方式监听名称的函数:stateuserAccountHeader

var name = useStateValue(bloc, (MenuState s) => s.userName);

但是,从我的日志中,我可以看到这棵树中的所有小部件都在重建。

0 投票
1 回答
365 浏览

flutter - Flutter useAnimationController 钩子不会重建小部件

我正在使用颤振钩子包为屏幕上的元素设置动画,但显然我做错了什么,因为元素没有重建为动画。这是我的代码。

渲染时,此小部件位于堆栈内。在运行时或构建时都不会引发错误。

0 投票
1 回答
427 浏览

flutter - HookWidget 有对应的 GlobalKey 吗?

我想onPopPage在父小部件中调用以下代码。以传统方式,我可以使用GlobalKey<SomeState>().currentState.someMethod.

但是 HookWidget 的理想方式是什么?

0 投票
2 回答
601 浏览

flutter - 使用 Flutter Hooks 库,当我尝试在 useEffect 中使用导航器时遇到了种族冲突

Flutter Hooks使用效果文档

signupHelper.state.success我在我的 onSubmit 事件中调度了一个 API 请求,该请求具有变为 true的副作用。当成功 == true 时,我想导航到另一个屏幕。相反,我得到一个错误setState() or markNeedsBuild() called during build

我目前的解决方法是在导航前等待 50 毫秒,以确保没有进行重建。

我的代码看起来像这样

0 投票
1 回答
1072 浏览

flutter - 在 Flutter 中使用 Hook Widget 强制构建小部件树

我有一个动态接受未来列表和回调的页面,以获取未来列表以接收数据并能够在刷新时刷新它。简化版本如下所示:

所以第一次,页面加载时已经加载了未来。当用户刷新时,我将未来标记为 null,以便调用回调并且可以重新获取数据。

我现在正在尝试在flutter_hooks整个应用程序中实现,并且我已将此小部件重构为如下所示(简化版本):

这第一次有效,但是之后该值继续分配给 null,因此值通知程序不会收到有关更改的通知。在这种情况下,如何像以前一样强制重建小部件?作为奖励,您是否看到了更好的解决方案?

提前致谢。

更新

这是itemsFuture

这是getItemsFuture

它背后的想法是在打开搜索页面之前获取数据。在我的用例中有效。

我找到了解决问题的方法,但我不会将其发布为答案,因为我不相信它是干净的,我宁愿看看是否有人找到了正确的方法。

当前解决方案

如您所见,我现在有一个计数器通知器,它将实际重建ValueListenableBuilderFutureBuilder获取数据

0 投票
0 回答
170 浏览

flutter - 在构建方法之外无法调用useContext颤振钩子的真正用途是什么?

我最近开始使用flutter_hooks,但后来我想知道在已经提供构建上下文的构建方法中返回构建上下文的钩子有什么好处..!!

有人对此有很好的解释吗?

0 投票
1 回答
704 浏览

flutter - 从其他功能 Flutter Hook Widget 传递和更新状态值

我是 Flutter hooks 的新手,我有要求我必须使用 HookWidget 而不是 StatefulWidget。据我所知, useState 只能在构建函数中声明。

我尝试将状态值作为函数参数传递,但它不起作用。我可以知道所有 HookWidget 类都只会在构建函数中编写所有组件而不进行重构吗?

0 投票
1 回答
276 浏览

flutter - 无法在同一个 HookWidget 中同时使用 useFuture() 和 useValueChanged()

我有一个带有useValueChanged监听器的钩子小部件,如下所示:

changeLayout(..)用于useFuture(..)进行 graphql 突变调用并返回包裹在 a 中的 FutureAsyncSnapshot

回调中的值更改onTap如下:

我的 HookWidget 抛出类型不匹配错误。有什么方法可以在useFuture()useValueChanged()一个 HookWidget 中使用吗?