builder method

Widget builder(
  1. Widget builder(), {
  2. void initState()?,
  3. void onSetState(
    1. SnapState<T?> state
    )?,
  4. void onAfterBuild()?,
  5. void dispose()?,
  6. ShouldRebuild? shouldRebuild,
  7. Object? watch()?,
  8. String? debugPrintWhenRebuild,
  9. String? tag,
})

Simple builder without passing state.

Implementation

Widget builder(
  Widget Function() builder, {
  void Function()? initState,
  void Function(SnapState<T?> state)? onSetState,
  void Function()? onAfterBuild,
  void Function()? dispose,
  ShouldRebuild? shouldRebuild,
  Object? Function()? watch,
  String? debugPrintWhenRebuild,
  String? tag,
}) {
  SideEffects<T?>? sideEffects;
  if (initState != null ||
      onSetState != null ||
      onAfterBuild != null ||
      dispose != null) {
    sideEffects = SideEffects<T?>(
      initState: initState,
      onSetState: onSetState,
      onAfterBuild: onAfterBuild,
      dispose: dispose,
    );
  }

  return OnBuilder<T?>(
    listenTo: this,
    sideEffects: sideEffects,
    shouldRebuild: (oldSnap, newSnap) {
      final currentTag = currentNotificationTag;
      if (tag != null && currentTag != null && tag != currentTag) {
        return false;
      }
      return shouldRebuild?.call(oldSnap, newSnap) ?? true;
    },
    watch: watch,
    debugPrintWhenRebuild: debugPrintWhenRebuild,
    builder: builder,
  );
}