Function leptos_use::whenever
source · pub fn whenever<T, DFn, CFn>(source: DFn, callback: CFn) -> impl Fn() + Clone
Expand description
Shorthand for watching a signal to be true
.
§Usage
let (is_ready, set_ready) = create_signal(false);
whenever(move || is_ready.get(), |v, _, _| log!("{}", v));
§Callback Function
Same as [watch
], the callback will be called with callback(input, prev_input, prev_return)
.
whenever(move || is_ready.get(), |value, prev_value, _| {
log!("before: {prev_value:?}; now: {value}");
});
§Computed
Same as [watch
], you can pass a getter function to calculate on each change.
whenever(
move || counter.get() == 7,
|_, _, _| log!("counter is 7 now!"),
);
§Options
Options and defaults are same as [watch_with_options
].
whenever_with_options(
move || counter.get() == 7,
|_, _, _| log!("counter is 7 now!"),
WatchOptions::default().immediate(true),
);
§Server-Side Rendering
On the server this works just fine except if you throttle or debounce in which case the callback
will never be called except if you set immediate
to true
in which case the callback will be
called exactly once.