Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

flutter-state-management

/flutter-state-management

Projektuje i przegląda własność stanu, przepływ aktualizacji i integrację pakietów we Flutterze, np. przy setState, Listenable, Provider, Riverpod, Bloc, Redux lub własnych rozwiązaniach stanu.

Repozytorium
flutter-skills ↗
Licencja
BSD-3-Clause
Ostatnia zmiana repozytorium
05.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
4
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 05.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

BSD-3-Clause, otwarta.

Co robi i kiedy

Projektuje i przegląda własność stanu, przepływ aktualizacji i integrację pakietów we Flutterze, np. przy setState, Listenable, Provider, Riverpod, Bloc, Redux lub własnych rozwiązaniach stanu.

Oryginalny opis (EN)

Design or review Flutter state ownership, update flow, and package integration. Use for setState, Listenable, Provider, Riverpod, Bloc, Redux, or custom state problems; preserve the project's established approach unless migration is requested.

Jak działa

  1. Inspect
  2. Rules
  3. Verification
  4. Boundaries
  5. Sources
Sekcje z nagłówków SKILL.md, w oryginale · 37 linii, 277 słów
Podgląd SKILL.md
---
name: flutter-state-management
description: Design or review Flutter state ownership, update flow, and package integration. Use for setState, Listenable, Provider, Riverpod, Bloc, Redux, or custom state problems; preserve the project's established approach unless migration is requested.
---

# Flutter State Management

Start with ownership and lifetime, then choose mechanics.

## Inspect

Identify which state is ephemeral UI state, feature state, shared application state, cached server data, or persisted data. Determine who creates, mutates, observes, and disposes it.

## Rules

- Keep state as local as its consumers allow.
- Maintain a single source of truth and derive secondary values instead of synchronizing copies.
- Make state transitions explicit and keep side effects outside widget `build` methods.
- Preserve an established package and its conventions when they are functioning.
- For a new project, choose based on complexity, team familiarity, testability, code generation tolerance, and lifecycle needs—not popularity alone.
- Expose immutable state or read-only views of mutable collections.
- Model loading, empty, success, and failure states deliberately where the UI distinguishes them.
- Avoid broad subscriptions that rebuild unrelated subtrees.
- Use the package's watch-style accessor (`ref.watch`, `context.watch<T>()`, `BlocBuilder`) only inside `build` or another watch-safe method, and its one-off accessor (`ref.read`, `context.read<T>()`, a Bloc's `add`) inside callbacks and event handlers. Calling the watch-style accessor from a callback throws or misbehaves in most packages.

Do not introduce global service locators or package-level singletons as a shortcut for unclear ownership.

## Verification

Test meaningful transitions, failure recovery, disposal, and repeated events. Inspect rebuild scope for hot paths and run widget tests for state-to-UI behavior.

## Boundaries

Architecture-wide dependency direction belongs to `flutter-architecture`; persistence and remote caching belong to their data specialists.

When disposal behavior or lifecycle leaks are in scope, follow the [lifecycle and disposal reference](references/lifecycle-and-disposal.md). For async state modeling and error recovery, follow the [async state patterns reference](references/async-state-patterns.md).

## Sources

- [Flutter state management fundamentals](https://docs.flutter.dev/get-started/fundamentals/state-management)
Pliki w paczce (4)
  • SKILL.md 2 KB
  • evals/cases.json 4 KB
  • references/async-state-patterns.md 2 KB
  • references/lifecycle-and-disposal.md 3 KB

Wersje

W bazie nie ma innych skilli o nazwie flutter-state-management.

Migawka bazy z 28.10.2026 · wersja paczki 936240a23012 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90flutter-core:flutter-state-management
    Wybiera i stosuje zarządzanie stanem we Flutterze: wbudowane narzędzia, Provider, BLoC i Riverpod oraz współdzielenie danych między widgetami.
  • 100flutter-architecture-decisions
    Pomaga wybrać zarządzanie stanem we Flutterze (Riverpod, Bloc, signals, setState), wyznaczyć granice pakietów i warstw oraz zapisać decyzję architektoniczną (ADR).
  • 100flutter-architecture
    Podaje wzorce architektury aplikacji Flutter: struktura feature-first, clean architecture i zarządzanie stanem (Bloc, Riverpod, Provider), wstrzykiwanie zależności i dobór podejścia.
  • 90state-management
    Stosuje konwencje stanu w Bloc, Cubit, Riverpod albo Provider przy pisaniu stanu, podpinaniu widżetów i testach logiki.
  • 100flutter
    Wspiera tworzenie aplikacji w Flutterze na iOS, Androida, web i desktop: drzewa widgetów, zarządzanie stanem (Bloc, Riverpod, Provider), custom paintery, platform channels i kompilacja wieloplatformowa.
  • 95testing-flutter
    Pomaga pisać testy i strategię testowania aplikacji Flutter 3.47 z BLoC v9 i Riverpod 3.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.