effect method

void effect(
  1. void Function()? effect(), [
  2. List<Object?>? dependencies
])

Equivalent to the useEffect hook from React. See https://react.dev/reference/react/useEffect

Implementation

void effect(
  void Function()? Function() effect, [
  List<Object?>? dependencies,
]) {
  final oldDependencies = use.previous(dependencies);
  final (getDispose, setDispose) = use.data<void Function()?>(null);
  use.register((api) => api.registerDispose(() => getDispose()?.call()));

  if (dependencies == null ||
      _didDepsListChange(dependencies, oldDependencies)) {
    getDispose()?.call();
    setDispose(effect());
  }
}