batch
Group multiple signal updates to prevent redundant effects.
/** * Group multiple signal updates into a single effect flush. * @param callback Function containing batched signal updates. * @returns The result of the callback. */batch<T>(callback: () => T): T
Batch groups multiple signal updates together so that effects only run once after all updates. Use this to avoid unnecessary recomputation when updating several signals at once.
import { signal, batch } from '@hellajs/core';
// Create signals for form stateconst username = signal('');const email = signal('');const isSubmitting = signal(false);const isSuccess = signal(false);
function submitForm() { batch(() => { isSubmitting.set(true);
// Simulate async form submission setTimeout(() => { batch(() => { isSubmitting.set(false); isSuccess.set(true); username.set(''); email.set(''); }); }, 1000); });}