useDefault<T> function

DefaultState<T> useDefault<T>(
  1. T defaultValue,
  2. T initialValue
)

Flutter state hook that returns the default value when state is null.

Implementation

DefaultState<T> useDefault<T>(T defaultValue, T initialValue) {
  final value = useState(initialValue);

  final getter = useCallback<T Function()>(() {
    return value.value;
  }, const []);

  final setter = useCallback<void Function(T?)>((newValue) {
    value.value = newValue ??= defaultValue;
  }, const []);

  final state = useRef(DefaultState<T>(getter, setter));

  return state.value;
}