Framework
Version
Debouncer API Referenz
Throttler API Referenz
Rate Limiter API Referenz
Queue API Referenz
Batcher API Referenz

useBatchedCallback

Funktion: useBatchedCallback()

ts
function useBatchedCallback<TFn>(fn, options): (...args) => void
function useBatchedCallback<TFn>(fn, options): (...args) => void

Definiert in: react-pacer/src/batcher/useBatchedCallback.ts:41

Ein React-Hook, der eine gebündelte Version einer Callback-Funktion erstellt. Dieser Hook ist im Wesentlichen eine Wrapper-Funktion um die grundlegende batch-Funktion, die aus @tanstack/pacer exportiert wird, aber für React mit reaktiven Optionen und einer stabilen Funktionsreferenz optimiert ist.

Die gebündelte Funktion sammelt einzelne Aufrufe in Batches und führt sie aus, wenn die Batch-Bedingungen erfüllt sind (maximale Größe erreicht, Wartezeit abgelaufen oder benutzerdefinierte Logik).

Dieser Hook bietet eine einfachere API im Vergleich zu useBatcher und ist daher ideal für grundlegende Bündelungsanforderungen. Er legt jedoch die zugrunde liegende Batcher-Instanz nicht offen.

Für fortgeschrittene Anwendungsfälle, die Funktionen wie

  • Manuelle Batch-Ausführung
  • Zugriff auf Batch-Status und Metriken
  • Benutzerdefinierte useCallback-Abhängigkeiten

Ziehen Sie in Betracht, stattdessen den Hook useBatcher zu verwenden.

Typparameter

TFn extends AnyFunction

Parameter

fn

(items) => void

optionen

BatcherOptions<Parameters<TFn>[0]>

Gibt zurück

Funktion

Parameter

args

...Parameters<TFn>

Gibt zurück

void

Beispiel

tsx
// Batch analytics events
const trackEvents = useBatchedCallback((events: AnalyticsEvent[]) => {
  sendAnalytics(events);
}, {
  maxSize: 5,    // Process when 5 events collected
  wait: 2000     // Or after 2 seconds
});

// Use in event handlers
<button onClick={() => trackEvents({ type: 'click', target: 'button' })}>
  Click me
</button>
// Batch analytics events
const trackEvents = useBatchedCallback((events: AnalyticsEvent[]) => {
  sendAnalytics(events);
}, {
  maxSize: 5,    // Process when 5 events collected
  wait: 2000     // Or after 2 seconds
});

// Use in event handlers
<button onClick={() => trackEvents({ type: 'click', target: 'button' })}>
  Click me
</button>
Unsere Partner
Code Rabbit
Unkey
Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.

Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.