搜索

PythonReactSEOPDF
GitHub Skill

flutter-riverpod-state-management

Reactive state management using Riverpod 2.0 with code generation.

HoangNguyen0403☆ 143 仓库 Stars48 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Riverpod State Management

Priority: P0 (CRITICAL)

Type-safe, compile-time safe reactive state management using riverpod and riverpod_generator.

Structure

lib/
├── providers/ # Global providers and services
└── features/user/
    ├── providers/ # Feature-specific providers
    └── models/    # @freezed domain models

Implementation Guidelines

  • Generator First: Use @riverpod annotations and riverpod_generator. Avoid manual Provider definitions.
  • Immutability: Maintain immutable states. Use Freezed for all state models.
  • Provider Methods:
    • ref.watch(): Use inside build() to rebuild on changes.
    • ref.listen(): Use for side-effects (navigation, dialogs).
    • ref.read(): Use ONLY in callbacks (onPressed).
  • Asynchronous Data: Use AsyncNotifier for complex async logic. Access data via .when() or AsyncValue pattern-matching.
  • Architecture: Enforce 3-layer separation (Data, Domain, Presentation).
  • Linting: Enable riverpod_lint and custom_lint for dependency cycle detection.

Anti-Patterns

  • Building Inside Providers: Don't perform side-effects inside provider initialization.
  • Context Access: Never pass BuildContext into a Notifier/Provider.
  • Dynamic Providers: Avoid local provider instantiation; keep them global.

Related Topics

layer-based-clean-architecture | dependency-injection | testing

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!