fish_redux 0.2.6

Fish Redux

Build Status pub package codecov

What is Fish Redux ? #

Fish Redux is an assembled flutter application framework based on Redux state management. It is suitable for building medium and large applications.

It has four characteristics:

  1. Functional Programming
  1. Predictable state container
  1. Pluggable componentization
  1. Non-destructive performance

Architecture diagram #

Installation #


Documentation #

Language: English | 中文简体

Examples #

  • todo list - a simple todo list demo.
  • run it:
cd ./example
flutter create .
flutter run

What's the difference between 'Fish Redux' and 'Redux' ? #

Plugins #

Code Template #

Dev-Tools #

License #

  • Fish Redux is released under the Apache 2.0 license. See LICENSE for details.

关于我们 #




架构/服务端/客户端/前端/质量工程师 在公众号中投递简历,名额不限哦



For English


  • fix hot-reload bug
  • add excluedSelf in broadcast
  • rename sample to example
  • rename docs to doc


  • add stfState field in Context #58
  • add batchedNotify feature in page-store
  • add some docs
  • correct spelling


  • add support for immutable-state #111
  • fix the same type of state component reuse in listview #107
  • remove warnings in logMiddleware for debug-actions #98
  • correct spelling
  • modify bindAction #73


  • add support for AppStore
  • add routes
  • move middleware/aop to the top dir
  • add PrivateReducerMixin
  • add reselect
  • add docs


  • fix bug if notified on building
  • reconstruct test
  • add mergeMiddleware$


  • fix bug if component has no reducer in app-routes
  • reconstruct createStore
  • app-routes's store to be visible


  • reconstruct mixed-store
  • reconstruct communication
  • rename appBroadcast to broadcast
  • rename pageBroadcast to broadcastEffect
  • add dispatch-bus
  • enhance dispatch-api
  • add some docs
  • move test to dev_dependencies


  • add api to subscribe app-store for page-store
  • add api to subscribe app-store for component
  • add viewMiddleware
  • add adapterMiddleware
  • add effectMiddleware
  • add protected attribute method, more friendly to OOP
  • remove debug_report


  • add mixed-store's batch notification feature


  • force update if driven by outside observable
  • fix inverter bugs & optimization connectStores api
  • modify the use of global state in example


  • add forceUpdate api on context
  • fix bug in adapter’s appear & disappear if items are recycled
  • fix bug in connectStores api if page has no reducer


  • add congruent conn
  • fields mainCtx & viewUpdater in ComponentState become public
  • fix bug when a store recived action after teardown


  • Reconstruct Context
  • Breaking-change
    • Reconstruct dependencies
    • Remove OOP style
    • Remove higherEffect
    • Remove deprecated api(Connector, createMixedStore, AutoDispose:follow, AutoDispose:follower)
    • Remove unused DisposedException
  • Hide widgets.dart's Action to compate with flutter1.7
  • Compate with flutter_web


  • fix Context.broadcast bug #375
  • fix PrivateReducerMixin bug #380
  • add LocalState


  • add ctx.listen api
  • rename LocalState to LocalProps
  • correct some comments


  • add TickerProviderMixin
  • let dispatch return whatever result in effect. #462
  • fix Reselect's _listEquals bug #457
  • fix SingleTickerProviderMixin & TickerProviderMixin’s dispose bug #461
  • add ClearOnDependenciesChanged


sample #

A new Flutter project.

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  fish_redux: ^0.2.6

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:fish_redux/fish_redux.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Sep 20, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.5.0
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.2


Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Format lib/src/redux_component/context.dart.

Run flutter format to format lib/src/redux_component/context.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
test ^1.5.1