riverpod_builder 0.1.0 copy "riverpod_builder: ^0.1.0" to clipboard
riverpod_builder: ^0.1.0 copied to clipboard

retracted

easy to use riverpod state management.

Purpose #

Easy to use awesome package Riverpod for some design pattern.

Features #

View (builder) #

  @override
  Widget build(BuildContext context) {
    // wrap this buider 
    return RiverpodBuilder(
      provider: ViewProviders.firstViewModelProvider,
      builder: (context, ref, vm, state, reader) {
        return Scaffold(
          appBar: AppBar(
            title: const Text('First View'),
            automaticallyImplyLeading: false,
          )
          ...

property #

  • context means build context
  • ref means WidgetRef
  • vm ref.watch(provider.notifier);
  • state ref.watch(provider);
  • reader ref.read(provider.notifier);

View Model #

class FirstViewModel extends BaseViewModel<FirstViewState> {
  @override
  get instanse => const FirstViewState();

  int get count => state.count;

  // listen another provider
  SecondViewModel get secondVM =>
      widgetRef.read(secondViewModelProvider.notifier);

  @override
  void onInit() async{
    // Asynchronous processing is also possible .
    await Future.delayed(const Duration(seconds: 1));
    super.onInit();
  }

  void addCount() {
    state = state.copyWith(count: state.count + 1);
  }

  void showNextView() {
    // has context(Build Context)
    // no arguments need to be passed.
    Navigator.of(context).pushNamed("second_view");
  }

  ...

property #

  • context means build context
  • ref means WidgetRef
  • widgetRef means PrividerRef
  • state this state;
  • onInit (function) triger when this class init;
  • onDispose (function) triger when this class close;

#

Writing Documents more detail...

2
likes
0
pub points
30%
popularity

Publisher

unverified uploader

easy to use riverpod state management.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, flutter_riverpod

More

Packages that depend on riverpod_builder