I've worked as a freelancer on a couple of projects that used Ant Design, and personally I hated it.
In one case I was working on a real estate platform, so I had to build a listing search page (similar to Zillow). This means you're rendering lots of little dots on the map, and on hover, each one will open a popover with the listing details.
Using Ant Design brought this page to a standstill - massive performance issues, we're talking >1 second between frames. Turns out, it was rendering a unique portal element for every dot on the page, regardless of whether it was open or not.
I tried hacking it a bit but eventually gave up, and just wrote my own portal component that simply replaced the portal content with whatever you hovered over. After that we were back to 60fps.
I've always defaulted to MUI and never regretted it. Easy to style, customize, and great docs.
Rendering "too many" components is an issue with most popular React frameworks.
But it is also an issue w.r.t. usability. Group elements and use progressive disclosure instead.
Yeah I should have added that I'm not necessarily singling Ant Design out on this one, because I suspect several frameworks probably make similar mistakes.
Was there some reason that Ant inherently require it working that way, as opposed to it being a mistake in the application code?
It's more general to spawn a portal per component because then you can show multiple popovers at a time, like popovers that are always visible or only go away if you click "Close". So it makes sense to start there for the naive solution.
Yeah I suspect it was probably for this reason, but to answer the parent comment, yes it was required in the sense that it's simply how the Ant Design popover component works (or at least that's how it worked in 2021 which is when I did this).
Right but the dots aren't popovers. The dots trigger popovers. You should have one dot per dot and one popover per popover.
You could certainly make a popover per dot in any react library. It would just be bad to do so.
How were you drawing your maps?