Pakete, Repositories und App-Kategorien suchen

Paketdetailsv4.0.9

riverpod_generator

Ein Codegenerator für Riverpod. Dies vereinfacht die Syntax und stärkt sie, beispielsweise durch Zustands-basiertes Hot-Reload.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
1,1 Mio.
Likes
437
Pub-Punkte
130

Paket installieren

flutter pub add riverpod_generator

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Riverpod_generator ist ein Codegenerierungstool für die Riverpod-Zustandsverwaltungsbibliothek in Flutter. Es vereinfacht Boilerplate, indem es Provider-Definitionen automatisch generiert und eine saubere Syntax sowie eine verbesserte Entwicklererfahrung ermöglicht. Der Generator unterstützt zustandsbehaftete Hot-Reload-Funktionen, sodass der Zustand während der Entwicklung ohne Neustart beibehalten werden kann. Er integriert sich nahtlos in das Riverpod-Ökosystem, reduziert manuelle Codierung und verbessert die Wartbarkeit. Für Leistung und Benutzerfreundlichkeit entwickelt, hilft er Entwicklern, sich auf die Logik zu konzentrieren, anstatt sich mit wiederholten Einstellungen zu beschäftigen.

Anwendungsfälle

  • Komplexe Anbieterangaben vereinfachen
  • Zustandsbehaftete Hot-Reload in der Entwicklung aktivieren
  • Verringern von Boilerplate in großskaligen Anwendungen
  • Automatisierung der Anbietererstellung über mehrere Dateien
  • Verbesserung der Lesbarkeit und Wartbarkeit des Codes

Hauptmerkmale

  • Automatische Generierung von Anbietercodes
  • Unterstützt zustandsbehaftete Hot-Reload
  • Verringert manuellen Boilerplate
  • Integriert sich in Riverpods API
  • Generiert typensicheren Code

Geeignet für

  • Flutter-Entwickler, die Riverpod verwenden
  • Teams, die skalierbare state-gesteuerte Apps entwickeln
  • Entwickler, die schnellere Iterationen mit Hot-Reload suchen
  • Projekte, die saubere, wartbare Zustandslogik erfordern
  • Diejenigen, die eine wiederholte Provider-Einrichtung vermeiden möchten

Hinweise

  • Dart-Codegenerierungseinstellung erforderlich
  • Erforderliche build_runner-Konfiguration
  • Kann die Build-Zeit leicht erhöhen
  • Abhängig vom Riverpod-Core-Paket
  • Nicht erforderlich für einfache, von Hand geschriebene Provider

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Build Status codecov Star on Github License: MIT Discord

Deploys by Netlify

Riverpod


A reactive caching and data-binding framework. https://riverpod.dev Riverpod makes working with asynchronous code a breeze by:

  • Handling errors/loading states by default. No need to manually catch errors
  • Natively supporting advanced scenarios, such as pull-to-refresh
  • Separating the logic from your UI
  • Ensuring your code is testable, scalable and reusable
riverpod pub package
flutter_riverpod pub package
hooks_riverpod pub package

Welcome to Riverpod (anagram of Provider)!

For learning how to use Riverpod, see its documentation: >>> https://riverpod.dev <<<

Long story short:

  • Define network requests by writing a function annotated with @riverpod:

    @riverpod
    Future<String> boredSuggestion(Ref ref) async {
      final response = await http.get(
        Uri.https('boredapi.com', '/api/activity'),
      );
      final json = jsonDecode(response.body);
      return json['activity']! as String;
    }
    
  • Listen to the network request in your UI and gracefully handle loading/error states.

    class Home extends ConsumerWidget {
      @override
      Widget build(BuildContext context, WidgetRef ref) {
        final boredSuggestion = ref.watch(boredSuggestionProvider);
        // Perform a switch-case on the result to handle loading/error states
        return switch (boredSuggestion) {
          AsyncData(:final value) => Text('data: $value'),
          AsyncError(:final error) => Text('error: $error'),
          _ => const Text('loading'),
        };
      }
    }
    

Contributing

Contributions are welcome!

Here is a curated list of how you can help:

  • Report bugs and scenarios that are difficult to implement
  • Report parts of the documentation that are unclear
  • Fix typos/grammar mistakes
  • Update the documentation or add examples
  • Implement new features by making a pull-request

Sponsors

Kategorien

Abhängigkeiten

Abhängigkeiten 12 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden