function createThrottledValue<TValue>(value, initialOptions): [Accessor<TValue>, SolidThrottler<Setter<TValue>>]
function createThrottledValue<TValue>(value, initialOptions): [Accessor<TValue>, SolidThrottler<Setter<TValue>>]
定义于:throttler/createThrottledValue.ts:35
一个高级别的 Solid 钩子,用于创建值的节流版本,该值在指定的时间窗口内最多更新一次。 此钩子在内部使用 Solid 的 createSignal 来管理节流状态。
节流确保值更新以受控的速率发生,无论输入值更改的频率如何。 这对于限制依赖于快速变化值的昂贵重新渲染或 API 调用的速率非常有用。
该钩子返回一个包含以下内容的元组:
节流值将根据选项中指定的前导/后导边缘行为进行更新。
要更直接地控制节流行为而不进行 Solid 状态管理, 请考虑改用较低级别的 createThrottler 钩子。
• TValue
Accessor<TValue>
ThrottlerOptions<Setter<TValue>>
[Accessor<TValue>, SolidThrottler<Setter<TValue>>]
// 基本节流 - 每秒最多更新一次
const [throttledValue, throttler] = createThrottledValue(rawValue, { wait: 1000 });
// 使用节流值
console.log(throttledValue()); // 访问当前的节流值
// 控制节流器
throttler.cancel(); // 取消任何挂起的更新
// 基本节流 - 每秒最多更新一次
const [throttledValue, throttler] = createThrottledValue(rawValue, { wait: 1000 });
// 使用节流值
console.log(throttledValue()); // 访问当前的节流值
// 控制节流器
throttler.cancel(); // 取消任何挂起的更新