useCustomCompareEffect function

void useCustomCompareEffect(
  1. Dispose? effect(),
  2. List<Object?>? keys,
  3. EqualFunction keysEqual
)

A modified useEffect hook that accepts a comparator which is used for comparison on dependencies instead of reference equality.

Implementation

void useCustomCompareEffect(
  Dispose? Function() effect,
  List<Object?>? keys,
  EqualFunction keysEqual,
) {
  final ref = useRef(keys);

  if (ref.value == null || !keysEqual(keys, ref.value)) {
    ref.value = keys;
  }
  useEffect(effect, ref.value);
}