用途:这是一份供 AI(如 Claude)在执行过程中读取的 Flutter/Dart 参考,帮助在编码时做出技术选型并规避常见陷阱。人类可读说明见 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/。完整 Flutter/Dart 文档建议使用 Context7。
主要能力(关键决策):Riverpod 适合更简单的应用且编译期安全,BLoC 适合复杂事件驱动与团队约定;默认用 StatelessWidget,仅在需要本地可变状态(动画/控制器)时用 StatefulWidget;go_router 用于声明式深链接,Navigator 用于简单栈式导航;目录结构可选 feature-first(如 lib/features/auth/{data|domain|presentation})或 layer-first。
常见陷阱:不可变 Widget 始终使用 const 构造以大幅减少重建;异步间隙后使用 BuildContext 前先检查 mounted,避免 Widget 已卸载;长列表用 ListView.builder 而非 ListView(children:[...]),避免一次性构建全部项;用 sealed class 实现 Result 模式(Success/Failure)以获得穷尽 switch;Riverpod 中 build 内用 ref.watch、回调中用 ref.read,切勿在回调中 ref.watch;BLoC 中 close() 后不得再 emit 状态,异步操作需检查 isClosed;平台通道需处理 web/desktop 的 MissingPluginException;TextEditingController 与 AnimationController 必须在 dispose() 中释放;MediaQuery.of(context) 会触发重建,仅取尺寸时用 MediaQuery.sizeOf(context)。
使用方式与限制:资料未提供安装命令、收费或平台信息,暂未提供。内容为参考性约定,具体项目需结合实际情况判断。