因此,很多在命令式框架下的假设可能并不适用于 Flutter。例如,在 Flutter 应用中这是可行的,重新建构你的部分界面,而不是直接去修改它。如果有需要的话,Flutter 甚至可以在每一帧上都很快做到这点。

Flutter 应用是 宣告式 的,这也就意味着 Flutter 建构的使用者界面就是应用的当前状态。

当你的 Flutter 应用的状态发生改变时(例如,使用者在设定界面中点选了一个开关选项)你改变了状态,这将会触发使用者界面的重绘。去改变使用者界面本身是没有必要的(例如 widget.setText )—你改变了状态,那么使用者界面将重新建构。

在 宣告式 UI 介绍 中你可以阅读更多有关宣告式程式设计思维的资讯。

宣告式的程式设计风格有许多好处。值得注意的是,使用者界面任何状态的改变都只有一种编码途径。一旦给定任意状态,你就描述了使用者界面应该长什么样,并且它就是这样。

刚开始的时候,这种编码风格可能看起来不像命令式的那么直观。这也是本章为什么出现在这的原因。