I hereby claim:
- I am chimon2000 on github.
- I am chimon (https://keybase.io/chimon) on keybase.
- I have a public key ASBC8JzAWtEGVqem8e2M5UfYTFCO2XaY42p0bce6fCtpdgo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| {"lastUpload":"2020-03-05T07:06:07.448Z","extensionVersion":"v3.4.3"} |
| import 'package:flutter/material.dart'; | |
| void main() => runApp( | |
| Center( | |
| child: Text( | |
| 'Hello Charlotte Devs!', | |
| textDirection: TextDirection.ltr, | |
| ), | |
| ), | |
| ); |
| import 'dart:async'; | |
| import 'package:state_notifier/state_notifier.dart'; | |
| class ReducerNotifier<State> extends StateNotifier<State> { | |
| final Reducer<State> reducer; | |
| ReducerNotifier(state, this.reducer) : super(state); | |
| FutureOr<void> dispatch(Action action) async { |
| import 'package:flutter_hooks/flutter_hooks.dart'; | |
| import 'package:state_notifier/state_notifier.dart'; | |
| T useStateNotifier<T>(StateNotifier<T> notifier) { | |
| final state = useState<T>(null); | |
| useEffect(() { | |
| return notifier.addListener((s) => state.value = s); | |
| }, [notifier]); |
| class CounterPage extends StatelessWidget { | |
| @override | |
| Widget build(BuildContext context) { | |
| return Scaffold( | |
| appBar: AppBar(title: const Text('Counter')), | |
| body: BlocBuilder<CounterCubit, int>( | |
| builder: (context, count) => Center(child: Text('$count')), | |
| ), | |
| floatingActionButton: FloatingActionButton( | |
| child: const Icon(Icons.add), |
| enum CounterEvent { increment } | |
| class CounterBloc extends Bloc<CounterEvent, int> { | |
| CounterBloc() : super(0); | |
| @override | |
| Stream<int> mapEventToState(CounterEvent event) async* { | |
| switch (event) { | |
| case CounterEvent.increment: | |
| yield state + 1; |
| class CounterCubit extends Cubit<int> { | |
| CounterCubit() : super(0); | |
| void increment() => emit(state + 1); | |
| } |
| abstract class BaseCommand<T> { | |
| BuildContext _context; | |
| BaseCommand(BuildContext context) { | |
| /// Get root context | |
| /// If we're passed a context that is known to be root, skip the lookup, it will throw an error otherwise. | |
| _context = (context == _lastKnownRoot) ? context : context.read(); | |
| _lastKnownRoot = _context; | |
| } |
| import 'package:get_it/get_it.dart'; | |
| abstract class BaseCommand<T> { | |
| GetIt getIt = GetIt.instance; | |
| D locate<D>() => getIt.get<D>(); | |
| Future<T> run(); | |
| } |