LidSelector<S, T> constructor

const LidSelector<S, T>({
  1. Key? key,
  2. required StateNotifier<S> stateNotifier,
  3. required LidWidgetSelector<S, T> selector,
  4. required LidWidgetBuilder<T> builder,
  5. bool animate = false,
  6. AnimatedSwitcherTransitionBuilder transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder,
  7. Duration duration = const Duration(milliseconds: 300),
})

LidSelector is analogous to LidBuilder but allows developers to filter updates by selecting a new value based on the state. Unnecessary builds are prevented if the selected value does not change.

Note: the selected value must be immutable in order for LidSelector to accurately determine whether builder should be called again.

LifSelector<State, SelectedState>(
  selector: (state) {
    // return selected state based on the provided state.
  },
  builder: (context, state) {
    // return widget here based on the selected state.
  },
)

Implementation

const LidSelector({
  Key? key,
  required this.stateNotifier,
  required this.selector,
  required this.builder,
  this.animate = false,
  this.transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder,
  this.duration = const Duration(milliseconds: 300),
}) : super(key: key);