flutter_nop 3.1.1 copy "flutter_nop: ^3.1.1" to clipboard
flutter_nop: ^3.1.1 copied to clipboard

state manager, dependencies manager

state manager & route generator #

example: router_demo

state manager #

nop version:

    class CounterState {}
    //...
    Nav.put(() => CounterState());
    //...

    final app = MaterialApp(
      ...
      navigatorObservers: [
        ...,
        Nav.observer,
      ]
      ...
    );

    runApp(app);

    //...
    Widget build(BuildContext context) {
        final counter = context.getType<CounterState>();
        //...
    }

router version:

example: router_demo

    class CounterState {}

    final router = NRouter( ... );

    //...
    router.put(() => CounterState());
    //...
    
    final app = MaterialApp.router(
      routerConfig: router,
      // ...
    );
    runApp(app);

    //...
    Widget build(BuildContext context) {
        final counter = context.grass<CounterState>();
        //...
    }

route generator #

pubspec.yaml:

  dependencies:
    nop_annotations:

  dev_dependencies:
    nop_gen:
    build_runner:

nop version:

link: route_gen

//  routes.dart

    import 'package:nop_annotations/nop_annotations.dart';

    part 'routes.g.dart';

    @NopRouteMain(
      main: MyHomePage,
      pages: [
        RouteItem(page: SecondPage),
        RouteItem(page: ThirdPage),
      ],
    )
    class AppRoutes {}

    class SecondPage extends StatelessWidget {
        const SecondPage({super.key, String? title});
        //...
    }

dart run build_runner build  
// 'routes.g.dart'

    class Routes {
        //...
      static final _secondPage =  NopRoute(
        name: '/secondPage',
        fullName: '/secondPage',
        builder: (context, arguments) => const Nop.page(
        child: SecondPage(title: arguments['title']),
        ),
      );
    }

    class NavRoutes {
      static NopRouteAction<T> secondPage<T>({
        BuildContext? context, String? title,
      }) {
        return NopRouteAction(
            context: context, route: Routes._secondPage, arguments:  {'title': title});
      }
    }

router version:

router_demo

dart run build_runner build --delete-conflicting-outputs
0
likes
110
points
84
downloads

Publisher

unverified uploader

Weekly Downloads

state manager, dependencies manager

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

collection, equatable, flutter, nop, web

More

Packages that depend on flutter_nop