带有 const 小部件的 BLoC

BLoC with const widget

我拥有的:

const MainWidget
- Row
-- BlocBuilderA
-- BlocBuilderB
-- BlocBuilderC

我现在拥有的:

const MainWidget
- Row
-- const WidgetA
-- const WidgetB
-- const WidgetC

将每个 BlocBuilder 移动到自己的小部件后,为了提高可读性,我也获得了使这些小部件成为常量的“能力”。但是在我完成之后,小部件将不会再重建(可能是因为它们现在是常量)。但在这个特定的用例中,这是一种不需要的行为。有没有办法解决这个问题,或者唯一的解决方案是删除 const 构造函数并禁用这些小部件中的 prefer_const_constructors_in_immutables linting?

在我看来,如果你真的想让一些小部件成为常量,那么你不应该用 BlocBuilder 包装它们。 BlocBuilder 的概念只是包装你想要在接收到一些新状态时重建的小部件。其余的已经是 const 或者我的意思是不打算重建。

我建议您访问此 link 了解更多信息: best practices for not redrawing widget that doesn't have state change