states_rebuilder
states_rebuilder copied to clipboard
Alternative to model.streamBuilder()?
In previous versions, you were able to use 'model.streamBuilder()' and have it listen to a value stream. Now with the most recent update, you can no longer do this. What is the alternative to this method?
Use OnBuilder.createStream
like in this simple example:
import 'package:flutter/material.dart';
import 'package:states_rebuilder/scr/state_management/rm.dart';
void main() {
runApp(_App());
}
class _App extends StatelessWidget {
const _App({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: _Home(),
);
}
}
class MyMode {
Stream<int> fakeStream() {
return Stream.periodic(const Duration(seconds: 1), (v) => v);
}
}
final myModel = RM.inject(() => MyMode());
class _Home extends StatelessWidget {
const _Home({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: OnBuilder<int>.createStream(
creator: () => myModel.state.fakeStream(),
builder: (streamRM) {
return streamRM.onAll(
onWaiting: () => Text('Waiting ...'),
onError: (err, refresh) => Text('Error'),
onData: (data) => Text('$data'),
);
},
),
),
);
}
}