如果页面中包含有状态的小部件,我应该使该页面有状态吗?

时间:2019-03-30 05:49:41

标签: dart flutter

如果我应该将页面/屏幕设置为有状态或无状态,则我处于混乱状态。详细说明,我制作了一个名为MyHomePage的小部件MaterialApp。它仅包含一个将更改其值的小部件。那就是Text

现在仅需要一个有状态的小部件,即Text,我是否必须从MyHomePageStatefullWidget扩展StatelessWidget?我知道什么是有状态和无状态窗口小部件,但在这种情况下我感到困惑。

请阐明我的概念。

3 个答案:

答案 0 :(得分:1)

如果您的无状态窗口小部件的子级为immutable,即不变,那么您应该使用无状态窗口小部件。如果您有Stateful个小部件子级,则不必关心父级。因为每个StatefulWidget都有一个内部状态,无论StatefulWidget

的父窗口小部件如何,内部状态都会更新(更改状态内的值)

答案 1 :(得分:0)

如果要更改Text,即显示不同的字符串(在执行某些操作(例如,具有更改文本的按钮之后)),则需要使用StatefulWidget

如果Text不会被更改(不可变),则可以使用StatelessWidget

答案 2 :(得分:0)

实际上,您可以将 StatelessWidget 与名为StatefulBuilder的小部件一起用作Text的父级。此小部件具有一个内部带有setState回调的builder参数。

(已编辑)