FLUTTER ECOSYSTEM

firasdarwish/hydro

A simple state management & service container solution for Flutter.

hydro project cover
Stars
0
Forks
0
Last push (UTC)
Jul 2, 2022
Project status
Active
Firas M. Darwish GitHub avatar
GITHUB User

Firas M. Darwish ↗

Software Developer

LanguagesDartHTMLSwiftKotlinObjective-C

Technical topics

Packages published by this repository

Dependencies used

Dependency list 4 items

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

hydro

A simple state management & service container solution for Flutter.

Usage
import 'package:hydro/hydro.dart';
// inherit Hydro
class SomeClass extends Hydro {
  
  String _name = "inital value";
  
  // getter
  String get name => _name;
  
  // setter
  void setName(String newName) {
    _name = newName;
    update(); // NOTE: `update()` is important to refresh the UI.
  }
  
}
// Adding to the service container
// If already been added, nothing will change.
Hydro.set(SomeClass());

// OR

// force replace an existing service, set `forceReplace: true`
Hydro.set(SomeClass(), forceReplace: true);
class _SomePageState extends State<SomePage> {
 // ...   
     
SomeClass? some_class = Hydro.get<SomeClass>(this);
// OR
SomeClass some_class = Hydro.mustGet<SomeClass>(this);

// NOTE: `get` & `mustGet` methods accept an argument of type `State`,
// it is required to refresh the UI when changes occur;
// You may as well leave it empty if UI updates are NOT needed.
// SomeClass? some_class = Hydro.get<SomeClass>();