A widget can prevent Child Widget unnecessary rebuilds.You can filter whether you need rebuild based on whether the property values received by the old Child Widget and the new Child Widget are equal.
(这个widget可以防止它的child发生不必要的rebuilds,你可以判断新的Child Widget和旧的Child Widget接收的属性值是否相等来过滤是否需要rebuild)
dependencies:
should_rebuild: 0.1.2
Or
dependencies:
should_rebuild:
git:
url: https://github.com/fluttercandies/should_rebuild
ShouldRebuild<Todo>(
shouldRebuild: (oldWidget, newWidget) => oldWidget.counter != newWidget.counter,
child: Todo(counter: counter,)
),
Todo Widget
class Todo extends StatelessWidget {
final int counter;
Todo({this.counter});
@override
Widget build(BuildContext context) {
return Container(
child: Text(counter.toString()),
);
}
}
The Todo widget only rebuilds if counter changes
ShouldRebuild Widget is a generic StatefulWidget,this generic represents the type of Widget returned by the builder method