base_provider 0.0.1 base_provider: ^0.0.1 copied to clipboard
Package base state management by provider
This package depend on provider
. Package provide base state managerment of one project. Providers such as controller of view, at here you can put all logic of page, navigation, control show/hide dialog.
Features #
✅ Provide Statemanagement
✅ Get argument before context mounted
✅ Simple extension navigation, check null
Getting started #
Run this command:
With Dart:
dart pub add ok
This will add a line like this to your package's pubspec.yaml (and run an implicit dart pub get):
dependencies:
base_provider: ^0.0.1
Alternatively, your editor might support dart pub get. Check the docs for your editor to learn more. Import it
Now in your Dart code, you can use:
import 'package:base_provider/base_provider.dart';
Usage #
In parent page
import 'package:base_provider/base_provider.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends BaseState<HomePage, HomeVM> {
@override
HomeVM get init => HomeVM();
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider.value(
value: viewModel,
child: SizeBox()
);
}
}
With provider
import 'package:base_provider/base_provider.dart';
class HomeArgs {
}
class HomeProvider extends BaseViewModel {
HomeArgs? arguments;
@override
Future<void> init() async {
arguments = getArguments()
}
@override
Future<void> initialData() async {
context.pushNamed(RoutePath.detail, argument: HomeArgs())
}
@override
Future<void> fetchData() async {
if(arguments.hasEmpty){
return;
}
}
}