ReactterWatcher class

A StatefulWidget that listens for Signals and re-build when any Signal is changed.

For example:

final count = Signal(0);
final toggle = Signal(false);

class Example extends StatelessWidget {
  ...
  Widget build(context) {
    return ReactterWatcher(
      builder: (context, child) {
        return Column(
          children: [
            Text("Count: $count"),
            Text("Toggle is: $toggle"),
          ],
        );
      },
    );
  }
}

Build the widget tree with the values of the Signals contained in the ReactterWatcher builder, and with each change of its values, it will re-build the widget tree.

Use child property to pass a Widget which to be built once only. It will be sent through the builder callback, so you can incorporate it into your build:

ReactterWatcher(
  child: Row(
    children: [
      ElevatedButton(
        onPressed: () => signal.value += 1,
        child: const Text("Increase +1"),
      ),
      ElevatedButton(
        onPressed: () => toggle(!toggle.value),
        child: const Text("Toggle"),
      ),
    ],
  ),
  builder: (context, child) {
    return Column(
      children: [
        Text("Count: $count"),
        Text("Toggle is: $toggle"),
        child, // Row with 2 buttons
      ],
    );
  },
);

See also:

  • Signal, a reactive state of any type.
Inheritance

Constructors

ReactterWatcher({Key? key, Widget? child, TransitionBuilder? builder})
A StatefulWidget that listens for Signals and re-build when any Signal is changed.
const

Properties

builder TransitionBuilder?
Method which has the render logic
final
child Widget?
Provides a widget , which render one time.
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

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<ReactterWatcher>
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