Skip to content

Migration Overview

Guides for migrating to Reacton from other Flutter state management libraries. Each guide provides side-by-side comparisons of concepts, APIs, and code patterns.

Available Guides

FromGuideKey Differences
RiverpodFrom RiverpodProviders become top-level reacton() calls; ref.watch becomes context.watch(); no provider wrappers needed
BLoCFrom BLoCBloc classes become stateMachine() or reacton() + computed(); events become direct set()/update() calls; BlocBuilder becomes context.watch()
ProviderFrom ProviderChangeNotifier is replaced by immutable reacton values; Provider.of becomes context.watch()/context.read(); MultiProvider becomes a single ReactonScope
GetXFrom GetXRx* observables become reacton(); Obx() becomes context.watch(); controllers become modules; Get.put/Get.find become ReactonScope + context reads

General Migration Strategy

  1. Start small -- Pick one feature or screen to migrate first
  2. Keep both running -- Reacton can coexist with other state management libraries during migration
  3. Top-level declarations -- Reacton state is declared at the top level, not inside classes or provider scopes
  4. Immutable values -- Reacton works with plain Dart values, not mutable objects
  5. Test as you go -- Reacton's testing tools make it easy to verify each migrated piece

What's Next

Released under the MIT License.