provider

Featured

Use when setting up providers, consuming state, optimizing rebuilds, using ProxyProvider, or migrating from deprecated providers (Provider package).

Code & Development 637 stars 66 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
93
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Provider Skill This skill defines how to correctly use the `provider` package in Flutter applications. --- ## 1. Provider Types | Provider | Use for | |---|---| | `Provider` | Exposing any immutable value | | `ChangeNotifierProvider` | Mutable state with `ChangeNotifier` | | `FutureProvider` | Exposing a `Future` result | | `StreamProvider` | Exposing a `Stream` | | `ProxyProvider` / `ChangeNotifierProxyProvider` | Objects that depend on other providers | --- ## 2. Setup ```dart MultiProvider( providers: [ Provider<Something>(create: (_) => Something()), ChangeNotifierProvider(create: (_) => MyNotifier()), FutureProvider<String>(create: (_) => fetchData(), initialData: ''), ], child: MyApp(), ) ``` - Use `MultiProvider` to group multiple providers and avoid deeply nested trees. - `ChangeNotifierProvider` **automatically disposes** the model when it is no longer needed. - **Never** create a provider's object from variables that can change over time — the object won't update when the variable changes. Use `ProxyProvider` instead. - If you have 150+ providers, consider mounting them over time (e.g., during a splash screen) rather than all at once to avoid `StackOverflowError`. --- ## 3. Consuming State Always specify the **generic type** for type safety: ```dart // Listen and rebuild on change — only valid inside build() or a Provider's update method final count = context.watch<MyModel>().count; // Access without listening — use in callbacks, not...

Details

Author
evanca
Repository
evanca/flutter-ai-rules
Created
1 years ago
Last Updated
1 weeks ago
Language
Shell
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category