A Dart static analysis rule that detects and warns against using the deprecated SignalsMixin
in v7.
In
signals v7, SignalsMixin was deprecated to avoid unnecessary state tracking and
CPU/memory overhead. For optimal performance and a cleaner reactive codebase, you should
migrate to specialized widgets like **SignalWidget**, **SignalStatefulWidget**, or [SignalBuilder](/packages/signals/flutter/watch).
Examples#
Incorrect:
class MyWidget extends StatefulWidget with SignalsMixin { // LINT: Deprecated SignalsMixin
@override
Widget build(BuildContext context) {
return Text('${counter.value}');
}
}
Correct (using SignalWidget):
class MyWidget extends SignalWidget {
const MyWidget({super.key});
@override
Widget build(BuildContext context) {
return Text('${counter.value}'); // OK: Rebuilds are handled implicitly and efficiently
}
}