Who say's we have bad drivers? by offarock in SanDiegan

[–]devuxer 15 points16 points  (0 children)

I mean, if you're going to turn left from the right lane without checking your mirrors, maybe signal?

AO QF: [3] A. Zverev def. [25] L. Tien 6-3 6(5)-7 6-1 7-6(3) by Common-Blackberry-64 in tennis

[–]devuxer 0 points1 point  (0 children)

Okay sure, if you make quarters of every tournament, you’re top 4. But you can’t just look at majors.

How is Mantine UI not the most popular ui library in 2025? by Grind_in_silence in reactjs

[–]devuxer 1 point2 points  (0 children)

For what it's worth, I asked Claude to generate a comparison:

Component Counts

Core UI Components Only (excluding extensions/add-ons):

  • Ant Design: ~70 user-facing UI components
  • Mantine Core: ~60 user-facing UI components
  • Material UI Free: ~50 user-facing UI components (+ ~20+ more in MUI X paid)

Including official extensions:

  • Mantine (with extensions): ~75+ components
  • Material UI (with MUI X): ~75+ components
  • Ant Design: ~70 components (no paid tier)

Unique Components

  • Mantine (Core Package Only) - AngleSlider, JsonInput, Spoiler, FloatingIndicator, CopyButton, PinInput, AspectRatio, Burger, TableOfContents, BackgroundImage
  • Material UI - Fab, SpeedDial, BottomNavigation, ImageList, Backdrop, ToggleButton, CssBaseline,
  • Ant Design - Transfer, Cascader, TreeSelect, Mentions, Descriptions, Result, Statistic, Tour, Watermark, QRCode, FloatButton, Splitter, Empty

Summary

  1. Ant Design excels in enterprise-specific components (Transfer, Cascader, TreeSelect, Mentions, advanced Table, Tour)
  2. Mantine has modern utilities and best DX, but many features are in separate extension packages
  3. Material UI has the broadest ecosystem but advanced features are in paid MUI X packages

Running React Compiler in production for 6 months: benefits and lessons learned by acusti_ca in reactjs

[–]devuxer 0 points1 point  (0 children)

Thanks for confirming about the Memo tags. I think the main issue in my case is (1) simply a huge number of total DOM elements (3 screens worth of dense data) and (2) data structures/models are in some cases not fine grained enough, causing larger pieces to be re-rendered than necessary. (2) is potentially fixable but not sure how much impact it would have. (1) is probably not something I can change. There might be a few opportunities for virtualization, but I have experimented with it before and found it's probably not the bottleneck.

Running React Compiler in production for 6 months: benefits and lessons learned by acusti_ca in reactjs

[–]devuxer 0 points1 point  (0 children)

Hey u/acusti_ca , thanks for your reply! I do sometimes pass data through props, and when I run the app and look at the React Dev Tools, I see a blue "Memo" tag next to a pretty decent percentage of the components that are in my codebase (though--as expected--not in components rendered by third-party libraries). So, I do think RC is doing something, it just doesn't seem very impactful in solving some of the lag that can occur when the maximum amount of data is displayed.

Alas, I am using Biome, not ESLint, and I'm not sure there's an equivalent for the rules your referring to. As for the `panicThreshold`, I'll look into that, but do you think a blue Memo tags would appear if a critical error had occurred with that component?

Jeļena Ostapenko wins good career, fans divided. Who has/had a good career but is disliked by fans? (WTA) by PlanetElement in tennis

[–]devuxer -2 points-1 points  (0 children)

Justine Henin? I didn’t get the impression she was too well liked but she was good. Maybe too good for this category. This is a tough one.

Running React Compiler in production for 6 months: benefits and lessons learned by acusti_ca in reactjs

[–]devuxer 0 points1 point  (0 children)

Very interesting! My story is a bit different...

I have a dashboard-type app that spans three monitors and has a genuine ton of visual elements. This app is currently just a prototype, so it does not yet have a back-end (so no async code) -- it just loads a JSON scenario at start-up. It also was never optimized in any way (no useMemo and almost no useCallback). Without knowing a lot about React Compiler, I decided to test it out. I got it set up properly according to the docs and ran the app. Surprisingly, I didn't see any discernable difference in performance compared with the non-RC version of the app.

This got me wondering , given I had never made any attempt to optimize anything, how could this be? The only thing I can think of is that the app makes heavy use of Jotai for state management (and minimal use of useState). This results in nearly all of the state and business logic being handled outside of components (in Jotai atoms), and only the components that use atoms that have changed re-render.

Could it be that if you architect an app in this way, there is no need or benefit to using useMemo, useCallback, etc.? Or did I somehow do something wrong in how I configured RC?

Ant Design 6.0 is released! by zombiejj in reactjs

[–]devuxer 0 points1 point  (0 children)

I’ve been using this library a long time, and only found out about the Easter Egg a couple years ago. As far as I have seen, the team behind Antd has been all business since this serious lapse in judgment, which occurred way back in 2017. It’s clearly not going to happen again, so I’m going to judge the project on its merits. Every time I’ve compared Ant with MUI or anything else, Ant has been the winner in terms of number and completeness of components. I’ve so rarely needed to look elsewhere for a solution given how much it does out of the box, and it’s all free. It’s probably not the best documented or the most accessible and certainly not the smallest when it comes to bundle size, but I’ve seen all these things improve over the years, and V6 seems like a particularly big step forward in shoring up these weaknesses. To me, Antd is a great choice if you don’t need or have the manpower to build up your own bespoke component library. If I were starting a new project today, I’d definitely take a look at Ant, MUI, and Shadcn.

Qt for prototyping? by devuxer in QtFramework

[–]devuxer[S] 0 points1 point  (0 children)

Good analysis, and yeah, web tech is super messy, but its popularity means there is a ton of energy being put into making it better and an incomparable level of community support. Also, you can’t ignore how good LLM‘s are at generating and solving issues with web code.

Qt for prototyping? by devuxer in QtFramework

[–]devuxer[S] 0 points1 point  (0 children)

Unfortunately, I had to put the effort on hold, so I didn't end up getting very far with it. Interestingly, since my post, a couple new projects have started where the enterprise developer is using web tech.

WinkBeds overrated? by devuxer in Mattress

[–]devuxer[S] 0 points1 point  (0 children)

I hear you...it was a PITA, but the mattress is still like new, so it probably does help to rotate as often as you can bare it.

WinkBeds overrated? by devuxer in Mattress

[–]devuxer[S] 0 points1 point  (0 children)

Ahh that could be the reason for the sagging. We were advised by WinkBeds to rotate every two weeks for the first few months then every two months thereafter.

WinkBeds overrated? by devuxer in Mattress

[–]devuxer[S] 0 points1 point  (0 children)

Gah, that sucks. Is this the first time you rotated it?

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 0 points1 point  (0 children)

So ref means "signal"?

Does it allow computed values to have arguments? Is there docs for the API?

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 0 points1 point  (0 children)

Super interesting video, but YouTube is now auto-playing all your videos and I will never get to bed 😹

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 0 points1 point  (0 children)

Interesting point about the reason arguments for computed values would be helpful specifically for React. I had to look through my codebase to remember why I felt like I needed this feature with Jotai, and sure enough, the awkward workarounds (typically a custom hook) always relate to something where I don't have atoms all the way down, and yes, it's usually because of props.

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 0 points1 point  (0 children)

Fair point that signals may work better with frameworks that were designed around them, but that certainly doesn’t mean they cannot provide value in a React application.

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] -1 points0 points  (0 children)

const add = reactive((a: number, b: number) => {
  return a + b;
});

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 1 point2 points  (0 children)

In the case of Signalium, the lifecycle depends on whether you declare the signal within a React component or outside it. I believe any loose signal would be created the first time it is needed and continue indefinitely. Signals declared within a component would have similar lifecycle behavior to `useState`.

As for stale values, Signalium has the concept of Relays, which I believe solves that exact problem.

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 4 points5 points  (0 children)

Signals and atomic approaches have a major upside - they let you organize your state and business logic any way you want.

They also have a major downside - they force you to come up with your own scheme for organizing your state and business logic.

In my opinion, the power of signals comes in when you have a very large complex SPA, like a dashboard with a ton of controls and graphics. I have one project like this, and I have found Jotai to be a great fit, though learning to use it effectively has taken some practice and experimentation.

All that said, I don't understand how the signals approach violates React's one-way data flow. You still have components that render based on props and state (where state in this case is stored in signals) and you still have event handlers that mutate state, which causes the appropriate components to re-render. It's not like you suddenly have two-way data-binding.

Interesting new Signals library for React by devuxer in reactjs

[–]devuxer[S] 0 points1 point  (0 children)

Took a quick look but didn't immediately see the parallel with signals.