Pakete, Repositories und App-Kategorien suchen

Paketdetailsv4.0.7

riverpod_annotation

Ein Paket, das Anmerkungen für riverpod_generator bereitstellt

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
1,4 Mio.
Likes
181
Pub-Punkte
130

Paket installieren

flutter pub add riverpod_annotation

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

riverpod_annotation ist ein Codegenerierungspaket, das Anmerkungen bereitstellt, um die Erstellung von Riverpod-Anbietern in Flutter-Anwendungen zu vereinfachen. Es arbeitet zusammen mit riverpod_generator, um Boilerplate-Code automatisch zu generieren und so manuelle Aufwand sowie mögliche Fehler zu reduzieren. Durch die Verwendung einfacher Anmerkungen können Entwickler Zustandsverwaltungslogik effizienter definieren, wodurch die Lesbarkeit und Wartbarkeit des Codes verbessert wird. Das Paket unterstützt alle wichtigen Plattformen und ist daher ideal für plattformübergreifende Entwicklung.

Anwendungsfälle

  • Automatisierung der Anbietererstellung
  • Einfachere Einrichtung der Zustandsverwaltung
  • Boilerplate im Riverpod-Code reduzieren
  • Typsichere Abhängigkeiten aktivieren
  • Unterstützung von großskaliger App-Architektur

Hauptmerkmale

  • Anmerkungen zum Definieren von Providern
  • Integration mit riverpod_generator
  • Typsicherheitsenforcement
  • Plattformübergreifende Kompatibilität
  • Minimale Laufzeitüberhead

Geeignet für

  • Flutter-Entwickler, die Riverpod verwenden
  • Teams, die der Code-Wartbarkeit Priorität einräumen
  • Projekte, die skalierbare Zustandsverwaltung erfordern
  • Entwickler, die weniger Boilerplate suchen
  • Anwendungen für mehrere Plattformen

Hinweise

  • riverpod_generator muss enthalten sein
  • build_runner für Codegenerierung erforderlich
  • Kann die Build-Zeit leicht erhöhen
  • Nicht geeignet für die Erstellung eines Providers zur Laufzeit
  • Abhängig von der korrekten Verwendung von Annotationen

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 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden