Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev4.0.7

riverpod_annotation

Um pacote que expõe anotações para o riverpod_generator

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
1,4 mi
Curtidas
181
Pontos Pub
130

Instalar pacote

flutter pub add riverpod_annotation

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

riverpod_annotation é um pacote de geração de código que fornece anotações para simplificar a criação de provedores Riverpod em aplicativos Flutter. Ele funciona em conjunto com o riverpod_generator para gerar automaticamente o código boilerplate, reduzindo o esforço manual e erros potenciais. Usando anotações simples, os desenvolvedores podem definir a lógica de gerenciamento de estado de forma mais eficiente, melhorando a legibilidade e manutenibilidade do código. O pacote suporta todas as principais plataformas, tornando-o ideal para desenvolvimento multiplataforma.

Casos de uso

  • Automatizando a geração de provedores
  • Simplificando a configuração de gerenciamento de estado
  • Reduzindo o código repetitivo no código do Riverpod
  • Habilitar dependências seguras por tipo
  • Apoiar arquitetura de aplicativos em grande escala

Principais recursos

  • Anotações para definir provedores
  • Integração com riverpod_generator
  • Enforcamento de segurança de tipo
  • Compatibilidade multiplataforma
  • Sobrecarga mínima de tempo de execução

Indicado para

  • Desenvolvedores Flutter usando Riverpod
  • Equipes que priorizam a manutenibilidade do código
  • Projetos que exigem gerenciamento de estado escalonável
  • Desenvolvedores que buscam reduzir o código boilerplate
  • Aplicativos direcionados a múltiplas plataformas

Considerações

  • Requer o uso do riverpod_generator
  • Necessário o build_runner para geração de código
  • Pode aumentar levemente o tempo de compilação
  • Não adequado para criação de provedor em tempo de execução
  • Dependente do uso correto de anotações

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote