React<S, E, V> class

React widget will react to system's partial state change, then trigger a build with widget builder.

API Overview

React<AsyncState, CounterEvent, bool>(
  system: _system,
  value: (state) => state.loading, // map state to value, required
  equals: (value1, value2) { // `equals` is used to determine if old value equals 
    return value1 == value2; // to new value. If there are not equal, then build
  },                         // is triggered. `equals` defaults to 
                             // `==` if omitted.                                
  builder: (context, loading, dispatch) {
    return ...; // return widget based on loading status, required
  },
);

Usage Example:

Below code shown how to build widget based on counts.isOdd:

...

final System<int, CounterEvent> _system = ...; // store system somewhere

...

@override
Widget build(BuildContext context) {
  return React<int, CounterEvent, bool>(
    system: _system,
    value: (state) => state.isOdd, // map state to value
    builder: (context, isOdd, dispatch) {
      return TextButton(
        onPressed: () => dispatch(Increment()),
        child: Text('isOdd: $isOdd'),
      );
    },
  );
}
Inheritance
Implementers

Constructors

React({Key? key, required System<S, E> system, required V value(S state), Equals<V>? equals, required WidgetBuilder<V, E> builder})
const

Properties

builder WidgetBuilder<V, E>
final
equals Equals<V>?
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
system System<S, E>
final
value → V Function(S state)
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<React<S, E, V>>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited