问题标签 [statelesswidget]

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 投票
13 回答
67153 浏览

dart - Flutter 中的有状态和无状态小部件之间的关系是什么?

有状态小部件被定义为在其生命周期内改变其状态的任何小部件。但是,将StatelessWidgetaStatefulWidget作为其孩子之一是一种非常普遍的做法。如果它有作为它的孩子之一,它不会StatelessWidget成为有状态的吗?StatefulWidget

我尝试将文档作为 的代码的一部分进行查看StatelessWidget,但无法弄清楚 aStatelessWidget可以Statefulwidget作为其子代并且仍然存在StatelessWidget

Flutter中有状态和无状态的widget有什么关系和区别?

0 投票
2 回答
4195 浏览

dart - Flutter:无状态小部件中的可变字段

该类StatelessWidget被标记为immutable。但是,我使用的是scoped model,这意味着我避免StatefulWidget使用来model改变stateStatelessWidget这导致我有non-final fieldsin StatelessWidget,这不会导致errors,因为它只是一个warning. 但我想知道是否有更好的方法?

0 投票
1 回答
11245 浏览

dart - Flutter:StatelessWidget.build 被多次调用

我总是将代码放在我的问题中,但这一次是不可能的,因为错误可能存在于一千行代码中的任何地方。然而:

我注意到我的主屏幕 ( StatelessWidget) 的构建方法,它是MaterialApp(home 属性) 的后代,在调试模式下像往常一样调用一次,但在发布模式下调用三次。

在什么情况下会发生这样的事情?我已经尝试过多次复制,但都失败了。

编辑:

问题是我将从媒体查询中获得的屏幕大小存储为全局变量,以便我可以从任何地方访问它。现在我需要在树的下方访问有状态小部件的 init 方法中的该变量。在调试模式下似乎没有问题,但在发布模式下,使媒体查询(必须在内部构建)的小部件的构建方法奇怪地被调用一次,媒体查询的结果是 Size(0.0, 0.0) ,然后调用树更下方的小部件的 init 方法,然后再调用带有媒体查询的 build 方法两次(这次使用正确的屏幕尺寸)。结果是我在 init 方法中没有正确的屏幕尺寸。

0 投票
1 回答
4929 浏览

button - 使用不包含导航器 statefulwidget 的上下文请求导航器操作

我正在研究下面的 Flutter 代码。我对名为“Regitrese”的第二个按钮有疑问。我看过的每个地方都使用无状态小部件,所以我不知道如何修复它。我尝试更改 void 以将其放在 home:MyHomePage() 并将 MyHomePage 设置为 statefull,而不是从 MyApp 总线获取 statefull,它显示错误缺少 StatefulWidget.createState 的具体实现。我不确定它应该怎么走。你能让按钮在 StatefulWidget 中工作吗?有没有我没看到的技巧?

0 投票
1 回答
110 浏览

dart - 为什么我会使用 StatelessWidget 而不是 StatefulWidget?

我知道这StatefulWidget允许我们更改小部件,而StatelessWidget不能。

但是,如果StatefulWidget可以执行可以执行的所有StatelessWidget操作 + 更多,我为什么还要使用StatelessWidgetover StatefulWidget?除了更容易实施之外,其他方面更好吗
StatelessWidget

0 投票
0 回答
66 浏览

flutter - 更深入的理解:有状态的小部件总是重建,即使我在不​​同的观点?

问题: GroupsOverview(使用 Futurebuilder - 代码很长,此处未显示)似乎在单击应用程序中的其他视图(以及“子视图”)时不断重建,从而导致过多的 Algolia 操作。我认为这是重建洞树的问题,但我对此一无所知。考虑过集成例如 Scope 模型。

我有一个主要问题,我作为 Flutter 初学者的整体理解结束了。我有一个类“GroupsOverview”,它(每次重新加载)根据我当前的位置显示来自网络服务(Algolia)的实时数据的组。这是一个有状态的小部件,因为当前位置是通过 initState 加载的。视图是选项卡视图中的选项卡,也是有状态的。保活似乎不起作用。那么,当我查看状态小部件 GroupsOverview 时(而不是在我单击应用程序中的其他视图时),我该如何管理它?

0 投票
5 回答
14622 浏览

dart - Flutter:在 StatelessWidget 中哪里添加监听器?

如果我使用的是 StatefulWidget,那么我将在 initState 方法中监听 Stream。我会在 StatelessWidget 中哪里做同样的事情(比如使用 Bloc 和流进行状态管理)?我可以在构建方法中做到这一点,但由于这些是重复的,我想知道是否有比检查现有侦听器更有效的方法,如下所示。我知道这是一个多余且无用的示例,但这只是为了说明问题。

0 投票
1 回答
3623 浏览

performance - StatelessWidget 与在性能方面返回 Widget 的函数

在性能方面,使用 aStatelessWidget和 a有什么区别function returning a Widget吗?

我很清楚至少在这个颤振的回购问题中指出的差异与性能没有关系。

事实是,我有一些同事声称functional widgets在性能方面最差,但是在阅读了一些关于该主题的内容后,我找不到任何可以证明该断言的结论性文件,因此有关此问题的任何类型的澄清都是非常欢迎!

据我所知,它们之间的唯一区别在于使用 a 的情况const Widget,这似乎可以避免重建阶段。

0 投票
1 回答
4759 浏览

listview - 颤振类型'列表' 不是类型 'list 的子类型'

我正在尝试使用带有图像的卡片制作一个列表,其想法是这些卡片是将来通过 API 请求动态生成的,但现在我只想从图像开始,但是当我运行时,我有以下内容错误 :

“List”类型不是“list”类型的子类型

我该如何解决?,请您的帮助。

我的代码在一个名为:

请求.dart

这是我的代码:

0 投票
1 回答
18396 浏览

dart - 无状态小部件是否自行处理?

我创建了一个PostUpdaterWidget扩展StatelessWidgetTextEditingControllers用于测试 Bloc 模式的实现。

我在很多例子中看到控制器应该被处理掉。但是,没有方法可override用于.disposeStatelessWidget

我曾想过创建自己的 dispose 函数来处理使用的控制器,并为那些将使用此小部件的人创建此小部件的变量,以便我可以调用 dispose 函数。

但我想首先知道我是否真的需要这样做,或者这个 StatelessWidget 实际上是自行处理的。

我应该继续我的想法吗?或者就这样吧,因为它可能会自行处理这些控制器,所以我不应该担心内存泄漏。