The lightest signal library for Dart, ported from stackblitz/alien-signals.
Tip
alien_signals
is the fastest signal library currently, as shown by experimental results from 👉 dart-reactivity-benchmark.
To install Alien Signals, add the following to your pubspec.yaml
:
dependencies:
alien_signals: latest
Alternatively, you can run the following command:
dart pub add alien_signals
- flutter_alien_signals - Flutter binding of
alien_signals
preset - solidart - [WIP] Signals in Dart and Flutter, inspired by SolidJS
import 'package:alien_signals/preset.dart';
void main() {
// Create a signal
final count = signal(0);
// Create a computed value
final doubled = computed((_) => count() * 2);
// Create an effect
effect(() {
print('Count: ${count()}, Doubled: ${doubled()}');
});
// Update the signal
count(1); // Prints: Count: 1, Doubled: 2
}
You can reuse alien_signals
core algorithm via ReactiveSystem
to build your own signal API. For implementation examples, see:
See the API documentation for detailed information about all available APIs.
This project is licensed under the MIT License - see the LICENSE file for details.
This is a Dart port of the excellent stackblitz/alien-signals library.