It lets you create a manually triggered useEffect (returns a dispatch function that will trigger it). Main difference between this and a plain function or callback is that it will take the latest state updates into account; main difference with useEffect is that it doesn't run automatically when the dependencies change but its manually called.