【发布时间】:2021-04-28 09:47:49
【问题描述】:
发送帮助。 我是一个新手 Flutter 开发人员,正在尝试构建一个简单的计算器,但我不知道如何从另一个小部件(比如一个按钮)影响小部件的数据。我正在尝试使用按钮从一个非常独立的小部件中更改一个小部件的状态。我该怎么做?
【问题讨论】:
发送帮助。 我是一个新手 Flutter 开发人员,正在尝试构建一个简单的计算器,但我不知道如何从另一个小部件(比如一个按钮)影响小部件的数据。我正在尝试使用按钮从一个非常独立的小部件中更改一个小部件的状态。我该怎么做?
【问题讨论】:
首先你要知道StatelessWidget和StatefulWidget的区别。
StatelessWidget : 是您想要在其中创建一个UI 的那些,当您更新绑定到它的任何值时,不需要动态更改。例如,如果您想制作一个标题不需要动态更改的按钮,那么您可以为按钮创建一个单独的小部件,作为 Stateless widget。
StatefulWidget : 与Stateless widgets 正好相反。这意味着,当您想要根据用户与之交互的方式动态制作某些内容时,您可以使用Stateful widget。
例如,如果您想通过单击按钮更改应用程序的背景颜色,则可以在这种情况下使用 Stateful 小部件。
因此,如果小部件的状态发生变化,您必须调用 setState 来触发视图的重建并立即看到新状态所暗示的变化。
setState(() {
value = newValue ;
});
想更详细了解主题,可以查看this。
【讨论】: