statefulBuilder method

Widget statefulBuilder({
  1. Key? key,
  2. required ShimmerBuilder shimmer,
  3. required StatefulValueBuilder<T, E> builder,
  4. required StatefulFailureBuilder<T, E> failureBuilder,
  5. required Widget emptyBuilder(),
})

Builds a widget from this StatefulData<T, E>.

This is a shortcut for StatefulDataBuilder.

key is forwarded to the created StatefulDataBuilder.

shimmer builds the loading placeholder when there is no usable value yet.

builder builds the UI when a usable value exists.

The callback signature is:

builder: (value, inProgress, {error}) => ...

error is a named parameter. Do not write it as a third positional parameter.

Correct:

builder: (value, inProgress, {error}) => YourWidget(
  value: value,
  inProgress: inProgress,
  error: error,
)

Wrong:

builder: (value, inProgress, error) => YourWidget(...)

failureBuilder builds the UI for Failure without a previous value.

emptyBuilder builds the UI for Empty.

Implementation

Widget statefulBuilder({
  Key? key,
  required ShimmerBuilder shimmer,
  required StatefulValueBuilder<T, E> builder,
  required StatefulFailureBuilder<T, E> failureBuilder,
  required Widget Function() emptyBuilder,
}) {
  return StatefulDataBuilder<T, E>(
    key: key,
    data: this,
    shimmer: shimmer,
    builder: builder,
    failureBuilder: failureBuilder,
    emptyBuilder: emptyBuilder,
  );
}