开始声明式思考
如何思考声明式编程。
如果你来自一个命令式框架(例如 Android SDK 或 iOS UIKit),你需要从新的角度开始思考应用程序开发。
你可能有一些不适用于 Flutter 的假设。例如,在 Flutter 中,从头开始重建 UI 的一部分是可以的,而不是修改它。Flutter 足够快,即使在每一帧都需要时也能做到这一点。
Flutter 是声明式的。这意味着 Flutter 构建其用户界面以反映应用程序的当前状态
当应用程序的状态发生变化时(例如,用户在设置屏幕中切换开关),你改变状态,这会触发用户界面的重绘。没有命令式地改变 UI 本身(例如 widget.setText)——你改变状态,UI 从头开始重建。
更多关于 UI 编程的声明式方法,请阅读 入门指南。
UI 编程的声明式风格有很多好处。值得注意的是,对于 UI 的任何状态,只有一个代码路径。你只需一次性描述 UI 在任何给定状态下应该是什么样子——仅此而已。
起初,这种编程风格可能不如命令式风格直观。这就是为什么本节存在的原因。请继续阅读。