redus 0.4.4 copy "redus: ^0.4.4" to clipboard
redus: ^0.4.4 copied to clipboard

A Vue-like fine-grained reactivity system for Dart with dependency injection. Developer utilities for convenience and performance.

example/example.dart

// ignore_for_file: avoid_print

import 'package:redus/reactivity.dart';

/// Example demonstrating Redus reactivity system.
///
/// Run with: `dart run example/example.dart`
void main() {
  // Create reactive values
  final count = ref(0);
  final doubled = computed(() => count.value * 2);

  // React to changes
  watchEffect((_) {
    print('Count: ${count.value}, Doubled: ${doubled.value}');
  });
  // Prints: "Count: 0, Doubled: 0"

  count.value = 5;
  // Prints: "Count: 5, Doubled: 10"

  count.value = 10;
  // Prints: "Count: 10, Doubled: 20"

  // Using effect scopes for cleanup
  final scope = effectScope();

  scope.run(() {
    final name = ref('Redus');

    watchEffect((_) {
      print('Hello, ${name.value}!');
    });

    onScopeDispose(() {
      print('Scope disposed!');
    });

    name.value = 'World';
  });

  // Dispose all effects in the scope
  scope.stop();
  // Prints: "Scope disposed!"
}
0
likes
160
points
395
downloads

Publisher

unverified uploader

Weekly Downloads

A Vue-like fine-grained reactivity system for Dart with dependency injection. Developer utilities for convenience and performance.

Repository (GitHub)
View/report issues

Topics

#reactivity #state-management #vue #reactive #dependency-injection

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on redus