react/react · warning · Error
getProfilingData not supported by this renderer
Error message
getProfilingData not supported by this renderer
What it means
Legacy (React v15) renderer stub for getProfilingData. The v15 reconciler has no fiber commit timeline, so DevTools cannot record or export a profile. The stub throws to signal that profiling is unavailable on this renderer. (Note startProfiling/stopProfiling are deliberately no-ops to avoid breaking multi-root v15+v16 setups.)
Source
Thrown at packages/react-devtools-shared/src/backend/legacy/renderer.js:1189
const element = internalInstance._currentElement;
internalInstance._currentElement = {
...element,
props: copyWithSet(element.props, path, value),
};
forceUpdate(publicInstance);
break;
case 'state':
setInObject(publicInstance.state, path, value);
forceUpdate(publicInstance);
break;
}
}
}
}
// v16+ only features
const getProfilingData = () => {
throw new Error('getProfilingData not supported by this renderer');
};
const handleCommitFiberRoot = () => {
throw new Error('handleCommitFiberRoot not supported by this renderer');
};
const handleCommitFiberUnmount = () => {
throw new Error('handleCommitFiberUnmount not supported by this renderer');
};
const handlePostCommitFiberRoot = () => {
throw new Error('handlePostCommitFiberRoot not supported by this renderer');
};
const overrideError = () => {
throw new Error('overrideError not supported by this renderer');
};
const overrideSuspense = () => {
throw new Error('overrideSuspense not supported by this renderer');
};
const overrideSuspenseMilestone = () => {
throw new Error('overrideSuspenseMilestone not supported by this renderer');View on GitHub (pinned to 22e4f993c7)
Solutions
- Profile a React 16+ (fiber) root instead — v15 is not profileable.
- Upgrade the inspected app to React 16+ to enable the Profiler tab.
- On mixed-version pages, attach profiling to the v16+ renderer only.
- Treat this as expected unavailability rather than a bug.
Defensive patterns
Strategy: validation
Validate before calling
function isProfileable(renderer) {
// Legacy v15 renderer cannot profile; only fiber (v16+) renderers can.
return Boolean(renderer && typeof renderer.getProfilingData === 'function' &&
renderer.findHostInstancesForElementID); // present on fiber renderer, not legacy
}
if (isProfileable(renderer)) {
const data = renderer.getProfilingData();
} Type guard
function isFiberRenderer(renderer) {
return Boolean(renderer && typeof renderer.handleCommitFiberRoot === 'function' &&
renderer.findHostInstancesForElementID);
} Prevention
- Profile React 16+ fiber roots; v15 is not profileable.
- Upgrade React 15 apps to enable the Profiler tab.
- On mixed v15/v16 pages, attach profiling to the v16+ renderer only.
- Treat the throw as expected unavailability on v15.
When it happens
Trigger: DevTools tries to export profiling data and the call resolves to the legacy v15 renderer's getProfilingData stub.
Common situations: Profiling a React 15 app, or a mixed v15/v16 page where the profiling request reaches the v15 renderer; DevTools extension version expecting a fiber renderer but only finding a legacy one.
Related errors
- Hooks not supported by this renderer
- handleCommitFiberRoot not supported by this renderer
- handleCommitFiberUnmount not supported by this renderer
- handlePostCommitFiberRoot not supported by this renderer
- overrideError not supported by this renderer
AI-assisted analysis of react/react@22e4f993c7 (2026-08-12).
Data as JSON: /api/errors/f740a5a3eeee02cd.
Report an issue: GitHub.