change_notifier_builder 1.0.2 copy "change_notifier_builder: ^1.0.2" to clipboard
change_notifier_builder: ^1.0.2 copied to clipboard

discontinuedreplaced by: multi_listenable_builder
outdated

A widget whose content stays synced with a ChangeNotifier. Designed to be used with a ChangeNotifier model for state management.

change_notifier_builder #

A widget whose content stays synced with a ChangeNotifier.

What is this? #

Many of us flutter developers use ChangeNotifier for state management, but there is no such thing as ChangeNotifierBuilder.

This is basically an AnimatedBuilder provided by flutter sdk, with a few minor modifitcations. Actually you might use AnimatedBuilder instead.

Why you created this? #

I created this package for 3 reasons.

  1. For the purpose of state management, ChangeNotifierBuilder is a more reasonable and readable name than AnimatedBuilder, for a builder widget.

  2. Sometimes our model is not yet ready (i.e. equals null). In this case if you use AnimatedBuilder it throws "animation cannot be null" exception. However if you use ChangeNotifierBuilder, the runtime value of notifier can be null.

  3. The builder method provides you the T notifier object as a parameter, which is a bit more user-friendly.

Example #

Let's say you have a model of ChangeNotifier like this:

class CounterModel extends ChangeNotifier {
  int _count = 0;

  void increment() {
    _count++;
    notifyListeners();
  }

  int get count => _count;
}

Then in the build method of your widget:

ChangeNotifierBuilder(
  // supply the instance of `ChangeNotifier` model,
  // whether you get it from the build context or anywhere
  notifier: _counterModel,
  // this builder function will be executed,
  // once the `ChangeNotifier` model is updated
  builder: (BuildContext context, CounterModel? counter, _) {
    return Text(
      '${counter?.count ?? ''}',
      style: Theme.of(context).textTheme.headline4,
    );
  },
)

Contributions #

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue. If you fixed a bug or implemented a feature, please send a pull request.

7
likes
0
pub points
64%
popularity

Publisher

unverified uploader

A widget whose content stays synced with a ChangeNotifier. Designed to be used with a ChangeNotifier model for state management.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on change_notifier_builder