If you’re seeing “ResizeObserver loop completed with undelivered notifications” with Ant Design’s Table component, here are your options.
The Root Cause
This warning occurs when the table enters an infinite layout calculation loop, typically from conflicting resize/scroll configurations.
Solution 1: The Quick Fix (Development Only)
Just hide the warning. It doesn’t affect production and won’t break your app.
iframe#webpack-dev-server-client-overlay {
display: none !important;
}
Why this works: The warning is cosmetic in development. ResizeObserver notifications being “undelivered” doesn’t cause functional issues—it’s just the browser telling you it couldn’t process all resize events in one frame.
Solution 2: Fix the Configuration
If you prefer addressing the root cause:
Problematic Setup
<Table
scroll={{ x: true }}
scrollToFirstRowOnChange
sticky
tableLayout='fixed'
/>
Fixed Setup
<Table
scroll={{ x: 'max-content' }}
sticky
/>
Key changes:
scroll={{ x: 'max-content' }}instead oftrue– calculates width once- Remove
scrollToFirstRowOnChange– prevents unnecessary reflows - Remove
tableLayout='fixed'– allows natural layout adjustment
With Proper Observer Management
const TableComponent = () => {
const tableRef = useRef(null);
useEffect(() => {
const table = tableRef.current;
if (!table) return;
const resizeObserver = new ResizeObserver(
debounce(() => {
// Handle resize if needed
}, 100)
);
resizeObserver.observe(table);
return () => resizeObserver.disconnect();
}, []);
return (
<div ref={tableRef} style={{ overflow: 'auto' }}>
<Table {...tableProps} />
</div>
);
};
What this does:
- Debounces resize calculations
- Properly cleans up observers
- Moves scroll responsibility to wrapper div
- Breaks the infinite resize loop
Which Solution Should You Use?
For most cases: Solution 1 (hiding the warning) is perfectly fine. The warning doesn’t indicate a broken feature, just that the browser couldn’t deliver all resize notifications synchronously.
Use Solution 2 if:
- You have actual layout issues (not just warnings)
- Your table has visible janky behavior
- You’re experiencing performance problems
Dependencies (Solution 2)
{
"dependencies": {
"antd": "^5.x.x",
"lodash": "^4.17.x"
}
}
Bottom Line
The ResizeObserver warning is annoying but harmless. Unless you have actual functional problems, hiding it is a legitimate solution. If you do have layout issues, the configuration changes will help—but understand that the warning itself isn’t the problem.

