用途:面向 Dart 的 Flutter Widget 惯用设计参考,在构建、审查或重构组件时应用,以保证正确的重建行为、良好性能与可维护的组件树。
主要能力:提供 Stateless 与 Stateful 的决策树(是否需要在初次构建后变化、变化来自父级新属性、内部状态、动画或全局状态);讲解组件拆分原则(build 超过 50 行、子树被复用两处以上、子树拥有自己的状态、限制重建范围),并强调应拆为独立 Widget 而非辅助方法。涵盖 Key 的使用场景:静态列表无需 Key,动态列表用 ValueKey(item.id),需要保留状态时谨慎用 GlobalKey,索引作 Key 在可重排列表中错误。说明 const 构造函数可被规范化并跳过重建,建议启用 prefer_const_constructors。还介绍 BuildContext 规则(不要在状态中存储、跨 await 前捕获、使用前检查 mounted)、InheritedWidget 的依赖注入与 updateShouldNotify、Builder 获取更靠下上下文、LayoutBuilder 做响应式布局,以及反模式(巨型 build 方法、initState 中调用 setState、缺失 const、整个子树重建)。
使用方式与限制:内容为参考指南,具体安装与调用命令暂未提供;需结合 Flutter 与 Dart 项目自行应用。示例代码保持原样,可据此配置 analysis_options.yaml。分类依据为编程与开发。