gpt4 book ai didi

flutter - 如果 Flutter 中的有状态小部件可以实现同样的功能,为什么我们需要无状态小部件?

转载 作者:行者123 更新时间:2023-12-01 13:13:45 25 4
gpt4 key购买 nike

我是 flutter 世界的新手,我最近学习了(或者我认为我已经学会了)有状态和无状态小部件,这是 Flutter 小部件的基础。

我们将无状态小部件用于未在显示器上重绘的内容(如文本、按钮等),但有状态小部件可以重绘自己。

所以我的问题是,如果有状态小部件可用于绘制与无状态小部件相同类型的小部件,为什么我们需要无状态小部件?

或者是否有任何特定原因在 flutter 中使用无状态而不是有状态的小部件?或者我们可以一直使用有状态的小部件而不是只能绘制一次内容的无状态小部件吗?

谢谢,对不起,如果这是一个愚蠢的问题。

编辑

那么问题不是无状态和有状态之间的区别。
我知道其中的区别,但是仅使用有状态小部件有什么影响,因为通过使用它我们还可以实现无状态小部件可以做的大部分事情,那么为什么我们需要无状态小部件?它在 flutter 环境中的重要性是什么?的应用程序将不时重新绘制?

最佳答案

是的,StatefulWidget 可以重建。这通常发生在使用 Inheritedwidgets 时。

StatelessWidget 的存在是为了将一个大的小部件树拆分为较小的可重用小部件。

您可能会想“但我可以为此使用 StatefulWidget 或函数”。这是真的,但不完全是:

  • StatefulWidget 带有一个巨大的样板,在这种情况下您不需要它。所以这只会增加噪音并使您的代码可读性降低。
  • 函数不能独立重建,也不能访问 key并覆盖 ==。因此它们的性能可能会降低或引入错误。
  • 关于flutter - 如果 Flutter 中的有状态小部件可以实现同样的功能,为什么我们需要无状态小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798854/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com