1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use super::{use_memo, Deps};
use crate::Callback;

/// Returns a memoized callback.
pub fn use_callback<T, U, D>(f: Callback<T, U>, deps: Deps<D>) -> Callback<T, U>
where
  T: 'static,
  U: 'static,
  D: PartialEq + 'static,
{
  let memo = use_memo(move || f, deps);
  let result = memo.value().clone();

  result
}