SuperAPI AI 工具集

flutter-context-watch-instead-of-top-builder

编程与开发

查看项目

更新于 10-15 23:49

技能介绍

用途:把顶层的 BlocBuilder<Cubit, State> 包裹重构为在 build 中使用 context.watch<Cubit>() 直接读取状态,同时保持界面行为一致。

主要能力:识别包裹大部分屏幕的根级 BlocBuilder;在 build 内一次性读取 cubit 与 state;移除外层 BlocBuilder 并直接返回被包裹的组件;写操作仍在 onTap、submit 等处理函数中使用 context.read<MyCubit>();若存在 presentation stream 监听(用于 useOnStreamChange),则使用 cubit.presentation,保证只有一个被 watch 的 cubit 引用。

用法:在 build 中写 final cubit = context.watch<MyCubit>(); final state = cubit.state;,随后移除外层 BlocBuilder 并直接返回原组件。重构后需验证加载状态、列表长度、按钮和副作用与之前逻辑一致。

限制:仅在顶层 builder 为简单状态透传时重构;不得修改业务逻辑、事件处理或导航;不得意外引入额外重建范围,只 watch 当前组件所需的 cubit;保留现有 analytics ID 与本地化用法。