mobx_widget 0.1.2 copy "mobx_widget: ^0.1.2" to clipboard
mobx_widget: ^0.1.2 copied to clipboard

outdated

If you use ObservableFuture or ObservableStream, maybe you should be considering to use some helpers widgets in your project, like ObserverFutureWidget or ObserverStreamWidget.

If you use ObservableFuture or ObservableStream, maybe you should be considering to use some helpers widgets in your project, like ObserverFutureWidget or ObserverStreamWidget. #

Example usage #

add dependency to pubspec.yaml

  mobx_widget:
    git: https://github.com/emanuel-braz/mobx_widget.git

OR

  dependencies:
    mobx_widget: ^0.1.0

Import package

import 'package:mobx_widget/mobx_widget.dart';

Create the ObservableFuture

class MyStore {

  ...

  MyStore(){
    fetchData();
  }
  
  @observable
  ObservableFuture<String> myObservableFuture;
  
  @action
  Future<String> fetchData() async {
    return await (myObservableFuture = ObservableFuture( _repository.fetch() ));
  }
}

With Future (ObservableFuture)

...

ObserverFutureWidget(
  observableFuture: () => myStore.myObservableFuture,
  onResult: (_, data) => MyCustomDataWidget(data: data),
  onResultNull: (_) => Center(child: Text('Oops! No connection.')),
  onPending: (_) => CircularProgressIndicator(),
  onError: (_, error) => MyCustomErrorReloaderWidget(error),
);

With Stream (ObservableStream)

...

ObserverStreamWidget(
  observableStream: () => myObservableStream,
  onData: (_, data) => Text('$data'),
  onNull: (_) => Text('NULL'),
  onUnstarted: (_) => Text('UNSTARTED'),
  onError: (_, error) => Text('ERROR: ' + error.toString())
)

TODO #

  • add example
  • add unit test
  • widget test
16
likes
0
pub points
81%
popularity

Publisher

unverified uploader

If you use ObservableFuture or ObservableStream, maybe you should be considering to use some helpers widgets in your project, like ObserverFutureWidget or ObserverStreamWidget.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, flutter_mobx, mobx

More

Packages that depend on mobx_widget