框架
版本
Debouncer API 参考
Throttler API 参考
速率限制器 API 参考
队列 API 参考
批处理器 API 参考
批处理器示例

useQueuedValue

函数:useQueuedValue()

ts
function useQueuedValue<TValue>(initialValue, options): [TValue, Queuer<TValue>]
function useQueuedValue<TValue>(initialValue, options): [TValue, Queuer<TValue>]

定义于:react-pacer/src/queuer/useQueuedValue.ts:40

一个 React 钩子,用于创建一个排队值,该值按顺序处理状态更改,并带有可选延迟。 此钩子在内部使用 useQueuer 来管理状态更改队列并按顺序应用它们。

排队值将按接收顺序处理更改,处理每个更改之间可以有可选的延迟。 这对于处理需要按特定顺序处理的状态更新(例如动画或顺序 UI 更新)非常有用。

该钩子返回一个包含以下内容的元组:

  • 当前排队值
  • 具有控制方法的队列器实例

类型参数

TValue

参数

initialValue

TValue

options

QueuerOptions<TValue> = {}

返回

[TValue, Queuer<TValue>]

示例

tsx
// 对状态更改进行排队,每次更改之间有延迟
const [value, queuer] = useQueuedValue(initialValue, {
  wait: 500, // 每次处理更改之间等待 500 毫秒
  started: true // 立即开始处理
});

// 将更改添加到队列
const handleChange = (newValue) => {
  queuer.addItem(newValue);
};

// 控制队列
const pauseProcessing = () => {
  queuer.stop();
};

const resumeProcessing = () => {
  queuer.start();
};
// 对状态更改进行排队,每次更改之间有延迟
const [value, queuer] = useQueuedValue(initialValue, {
  wait: 500, // 每次处理更改之间等待 500 毫秒
  started: true // 立即开始处理
});

// 将更改添加到队列
const handleChange = (newValue) => {
  queuer.addItem(newValue);
};

// 控制队列
const pauseProcessing = () => {
  queuer.stop();
};

const resumeProcessing = () => {
  queuer.start();
};