Skip to main content

useRenderBudget

Description and use case​

useRenderBudget measures render-to-commit duration and flags slow commits. It is useful for preventing gradual regressions in high-impact components.

API signature​

function useRenderBudget(
budgetMs?: number,
componentName?: string,
options?: UseRenderBudgetOptions,
): void;

Parameters​

NameTypeRequiredDescription
budgetMsnumberNoAllowed render duration in ms. Defaults to 16.
componentNamestringNoName included in warnings/errors.
options.enabledbooleanNoEnable/disable measurement.
options.strictbooleanNoThrow error instead of warning when budget is exceeded.

Return value​

ValueTypeDescription
ReturnvoidThis hook reports through side effects (warn/error), not return data.

Live interactive demo (StackBlitz)​

GitHub Pages does not serve the isolation headers required for embedded StackBlitz WebContainers. Open the demo in StackBlitz to run it interactively.

Code example​

import { useRenderBudget } from 'react-perf-hooks';

export function PricingGrid() {
useRenderBudget(16, 'PricingGrid', { strict: false });

return <section>...</section>;
}

Companion article​