BaseAction class

A ReduxAction wrapper for Action objects and provides all necessary utilities needed to interact with the Store and the Navigator.

Implemented types

Constructors

BaseAction()
BaseAction.build(Map<String, dynamic> data)
Builds anonymous actions [...]

Properties

dispatch → Dispatch<AppState>
read-only, inherited
dispatchFuture → DispatchFuture<AppState>
read-only, inherited
hasFinished → bool
Returns true only if the action finished with no errors. In other words, if the methods before, reduce and after all finished executing without throwing any errors.
read-only, inherited
hashCode → int
The hash code for this object. [...]
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited
state AppState
read-only, inherited
stateTimestamp → DateTime
read-only, inherited
status → ActionStatus
read-only, inherited
store → Store<AppState>
read-only, inherited

Methods

abortDispatch() → bool
If this returns true, the action will not be dispatched: before, reduce and after will not be called, and the action will not be visible to the StoreTester. This is only useful under rare circumstances, and you should only use it if you know what you are doing.
inherited
after() → void
This is an optional method that may be overridden to run during action dispatching, after reduce. If this method throws an error, the error will be swallowed (will not throw). So you should only run code that can't throw errors. It may be synchronous only. Note this method will always be called, even if errors were thrown by before or reduce.
inherited
before() → FutureOr<void>
This is an optional method that may be overridden to run during action dispatching, before reduce. If this method throws an error, the reduce method will NOT run, but the method after will. It may be synchronous (returning void) ou async (returning Future<void>).
inherited
dispatchFutureModel<Model extends BaseUIModel>(Model defaultModel, void f(Model m), [bool overwrite = false]) → Future<void>
Sends an anonymous action given the data of a model of type BaseUIModel [...]
override
dispatchModel<Model extends BaseUIModel>(Model defaultModel, void f(Model m), [bool overwrite = false]) → void
Sends an anonymous action given the data of a model of type BaseUIModel [...]
override
mutate<Model extends BaseUIModel>(Model defaultModel, void f(Model m), [bool overwrite = false]) → Model
Modifies the data of the model of type BaseUIModel stored the store [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
pop() → void
Removes the current route from the navigation stack
override
popUntil(String route) → void
Removes all routes in the navigation stack until the condition specified in predicate is satisfied
override
push(Route route, {Object arguments}) → void
Puts a route object on top of the navigation stack
override
pushNamed(String route, {Object arguments}) → void
Puts a route on top of the navigation stack
override
pushNamedAndRemoveAll(String route, {Object arguments}) → void
Adds a route into the navigation stack and removes everything else
override
pushNamedAndRemoveUntil(String route, {Object arguments, RoutePredicate predicate}) → void
Adds a route into the navigation stack and removes everything until the condition specified in predicate is satisfied
override
pushReplacementNamed(String route, {Object arguments}) → void
Replaces the current route with the specified route
override
read<Model extends BaseUIModel>(Model defaultModel) → Model
Reads a model of type BaseUIModel from the store [...]
reduce() → FutureOr<AppState>
An override to the ReduxAction.reduce to allow processing of anonymous actions
reduceWithState(Store<AppState> store, AppState state) → FutureOr<AppState>
Nest state reducers without dispatching another action. Example: return AddTaskAction(demoTask).reduceWithState(state); Don't use this! This is deprecated and will be removed soon, because it's more difficult to use than it seems. Unless you completely understand what you're doing, you should only used it with sync reducers.
inherited
setStore(Store<AppState> store) → void
inherited
toString() → String
Returns a string representation of this object.
inherited
wrapError(dynamic error) → Object
If any error is thrown by reduce or before, you have the chance to further process it by using wrapError. Usually this is used to wrap the error inside of another that better describes the failed action. For example, if some action converts a String into a number, then instead of throwing a FormatException you could do: wrapError(error) => UserException("Please enter a valid number.", error: error)
inherited
wrapReduce(Reducer<AppState> reduce) → Reducer<AppState>
You may wrap the reducer to allow for some pre or post-processing. For example, if you want to abort an async reducer if the state changed since when the reducer started: [...]
inherited
write<Model extends BaseUIModel>(Model defaultModel, void f(Model m), [bool overwrite = false]) AppState
Writes the data of the model of type BaseUIModel in the store [...]

Operators

operator ==(Object other) → bool
The equality operator. [...]
inherited