开始进行声明式思考
如何思考声明式编程。
如果你是从命令式框架(例如 Android SDK 或 iOS UIKit)转向 Flutter 开发,那么你需要以全新的视角来看待应用开发。
你可能持有的许多假设并不适用于 Flutter。例如,在 Flutter 中,从零开始重新构建部分 UI 是完全没问题的,无需对其进行修改。Flutter 的速度足够快,即使在每一帧执行此操作也没问题。
Flutter 是声明式的。这意味着 Flutter 构建其用户界面是为了反映你应用的当前状态。
当应用的状态发生改变时(例如,用户在设置屏幕中拨动了一个开关),你只需要改变状态,这就会触发用户界面的重绘。这里不存在对 UI 本身的命令式更改(比如 widget.setText)——你只需要更改状态,UI 就会从头开始重建。
阅读关于 UI 编程声明式方法的更多信息,请参阅 声明式 UI 简介。
声明式 UI 编程风格有很多好处。值得注意的是,对于 UI 的任何状态,都只有一条代码路径。你只需描述一次在给定状态下 UI 应该是什么样子——这就足够了。
起初,这种编程风格可能看起来不如命令式风格直观。这就是本节存在的原因。请继续阅读。