UiStatefulComponent<TProps extends UiProps, TState extends UiState> class abstract

The basis for a stateful over_react component.

Includes support for strongly-typed UiState in-addition-to the strongly-typed props and utilities for prop and CSS classname forwarding provided by UiComponent.

Initializing state:

@Component()
class YourComponent extends UiStatefulComponent<YourProps, YourState> {
  Map getInitialState() => (newState()
    ..aStateKeyWithinYourStateClass = /* default value */
  );

  @override
  render() {
    var classes = forwardingClassNameBuilder()
      ..add('your-component-base-class')
      ..add('a-conditional-class', state.aStateKeyWithinYourStateClass);

    return (SomeChildComponent()
      ..addProps(copyUnconsumedProps())
      ..className = classes.toClassName()
    )(props.children);
  }
}

Deprecated. Use UiStatefulComponent2 instead. Will be removed in the 4.0.0 release.

Inheritance
Implementers
Annotations

Constructors

UiStatefulComponent()

Properties

childContextKeys Iterable<String>
The keys this component uses in its child context map (returned by getChildContext).
no setterinherited
consumedProps Iterable<ConsumedProps>?
The props for the non-forwarding props defined in this component.
no setterinherited
context ↔ dynamic
The React context map of this component, passed down from its ancestors' getChildContext value.
getter/setter pairinherited
contextKeys Iterable<String>
The keys of context used by this component.
no setterinherited
displayName String?
Allows the ReactJS displayName property to be set for debugging purposes.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
jsThis → dynamic
The JavaScript ReactComponent instance of this Component returned by render.
no setterinherited
nextContext Map?
Private reference to the value of context for the upcoming render cycle.
getter/setter pairinherited
nextProps Map?
Reference to the value of props for the upcoming render cycle.
getter/setter pairinherited
nextState Map
Public getter for _nextState.
no setterinherited
prevContext Map?
Reference to the value of context from the previous render cycle, used internally for proxying the ReactJS lifecycle method.
getter/setter pairinherited
prevState Map?
Reference to the value of state from the previous render cycle, used internally for proxying the ReactJS lifecycle method and componentDidUpdate.
getter/setter pairinherited
props ↔ TProps
A typed props object corresponding to the current untyped props Map (unwrappedProps).
getter/setter pairinherited
ref ↔ RefMethod
DEPRECATED.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
setStateCallbacks List
The List of callbacks to be called after the component has been updated from a call to setState.
no setterinherited
state ↔ TState
A typed state object corresponding to the current untyped state Map (unwrappedState).
getter/setter pairoverride
transactionalSetStateCallbacks List
The List of transactional setState callbacks to be called before the component updates.
no setterinherited
unwrappedProps Map
The props Map that will be used to create the typed props object.
getter/setter pairinherited
unwrappedState Map
The state Map that will be used to create the typed state object.
getter/setter pair

Methods

awaitBeforeDispose<T>(Future<T> future) Future<T>
Add future to a list of futures that will be awaited before the object is disposed.
inherited
componentDidMount() → void
ReactJS lifecycle method that is invoked once, only on the client (not on the server), immediately after the initial rendering occurs.
inherited
componentDidUpdate(Map prevProps, Map prevState) → void
ReactJS lifecycle method that is invoked immediately after the Component's updates are flushed to the DOM.
inherited
componentWillMount() → void
ReactJS lifecycle method that is invoked once, both on the client and server, immediately before the initial rendering occurs.
inherited
componentWillReceiveProps(Map nextProps) → void
ReactJS lifecycle method that is invoked when a Component is receiving newProps.
inherited
componentWillReceivePropsWithContext(Map newProps, dynamic nextContext) → void

UNSUPPORTED IN COMPONENT2

This API was never stable in any version of ReactJS, and was replaced with a new, incompatible context API in ReactJS 16.

This will be completely removed alongside the Component class.

inherited
componentWillUnmount() → void
ReactJS lifecycle method that is invoked immediately before a Component is unmounted from the DOM.
inherited
componentWillUpdate(Map nextProps, Map nextState) → void
ReactJS lifecycle method that is invoked immediately before rendering when nextProps or nextState are being received.
inherited
componentWillUpdateWithContext(Map nextProps, Map nextState, Map? nextContext) → void

DEPRECATED - DO NOT USE

This API was never stable in any version of ReactJS, and was replaced with a new, incompatible context API in ReactJS 16.

This will be completely removed alongside the Component class.

inherited
copyProps({bool omitReservedReactProps = true, bool onlyCopyDomProps = false, Iterable? keysToOmit, Iterable<Iterable>? keySetsToOmit}) Map
Returns a copy of this component's props with React props optionally omitted, and with the specified keysToOmit and keySetsToOmit omitted.
inherited
copyUnconsumedDomProps() Map
Returns a copy of this component's props with keys found in consumedProps and non-DOM props omitted.
inherited
copyUnconsumedProps() Map
Returns a copy of this component's props with keys found in consumedProps omitted.
inherited
forwardingClassNameBuilder() ClassNameBuilder
Returns a new ClassNameBuilder with className and blacklist values added from CssClassPropsMixin.className and CssClassPropsMixin.classNameBlacklist, if they are specified.
inherited
getChildContext() Map<String, dynamic>
Returns a Map of context to be passed to descendant components.
inherited
getDefaultProps() Map
Invoked once and cached when registerComponent is called. Values in the mapping will be set on props if that prop is not specified by the parent component.
inherited
getInitialState() Map
Invoked once before the Component is mounted. The return value will be used as the initial value of state.
inherited
getManagedDelayedFuture<T>(Duration duration, T callback()) Future<T>
Creates a Future that will complete, with the value returned by callback, after the given amount of time has elapsed.
inherited
getManagedDisposer(Disposer disposer) → ManagedDisposer
Automatically handle arbitrary disposals using a callback.
inherited
getManagedPeriodicTimer(Duration duration, void callback(Timer timer)) Timer
Creates a periodic Timer that will be cancelled if active upon disposal.
inherited
getManagedTimer(Duration duration, void callback()) Timer
Creates a Timer instance that will be cancelled if active upon disposal.
inherited
initComponentInternal(Map props, void _jsRedraw(), [RefMethod? ref, dynamic _jsThis, Map? context]) → dynamic
inherited
initStateInternal() → dynamic
inherited
listenToStream<T>(Stream<T> stream, void onData(T event), {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<T>
Returns a StreamSubscription which handles events from the stream using the provided onData, onError and onDone handlers.
inherited
manageAndReturnDisposable(Disposable disposable) → Disposable
inherited
manageAndReturnTypedDisposable<T extends Disposable>(T disposable) → T
Automatically dispose another object when this object is disposed.
inherited
manageCompleter<T>(Completer<T> completer) Completer<T>
Ensure that a completer is completed when the object is disposed.
inherited
manageDisposable(Disposable disposable) → void
inherited
manageDisposer(Disposer disposer) → void
DEPRECATED. Use getManagedDisposer instead.
inherited
manageStreamController(StreamController controller) → void
Automatically cancel a stream controller when this object is disposed.
inherited
manageStreamSubscription(StreamSubscription subscription) → void
DEPRECATED. Use listenToStream instead.
inherited
newProps() → TProps
Returns a typed props object backed by a new Map.
inherited
newState() → TState
Returns a typed state object backed by a new Map.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
redraw([dynamic callback()?]) → void
Force a call to render by calling setState, which effectively "redraws" the Component.
inherited
render() → dynamic
Required.
inherited
replaceState(Map? newState, [dynamic callback()?]) → void
Set _nextState to provided newState value and force a re-render.
inherited
setState(covariant dynamic newState, [dynamic callback()?]) → void
Triggers a rerender with new state obtained by shallow-merging newState into the current state.
inherited
shouldComponentUpdate(Map nextProps, Map nextState) bool
ReactJS lifecycle method that is invoked before rendering when nextProps or nextState are being received.
inherited
shouldComponentUpdateWithContext(Map nextProps, Map nextState, Map? nextContext) bool?

DEPRECATED - DO NOT USE

This API was never stable in any version of ReactJS, and was replaced with a new, incompatible context API in ReactJS 16.

This will be completely removed alongside the Component class.

inherited
toString() String
A string representation of this object.
inherited
transferComponentState() → void
Transfers Component _nextState to state, and state to prevState.
inherited
typedPropsFactory(Map propsMap) → TProps
Returns a typed props object backed by the specified propsMap.
inherited
typedStateFactory(Map stateMap) → TState
Returns a typed state object backed by the specified stateMap.
validateProps(Map appliedProps) → void
Throws a PropError if appliedProps are invalid.
inherited
validateRequiredProps(Map appliedProps) → void
Validates that props with the @requiredProp annotation are present.
inherited

Operators

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