From the developer perspective, I can certainly relate.
From the user perspective, yet another widget with subtly different behaviour is very annoying. I'd much rather you add drag and drop handling to the existing widget so that everyone benefits and UIs remain consistent.
Yeah I get this argument for native apps, but does it really make sense in the context of a React app? If I'm combining components from different authors, what's more important to the user is consistency between components in my application, not consistency for an individual component across different unrelated sites.
In the age of SPAs and Electron, can we really distinguish between "React apps" and "native apps"? The user doesn't care about the technical details - they just want a consistent UI throughout their computing experience.
<rant>
Hell, back in the 2000s, even web apps used native widgets, and we shamed websites that implemented their own UIs in Flash because they were bloated and inaccessible. Now we do it in Javascript and it's considered okay, even though all the same objections apply. And with Electron apps we've managed to combine all the worst aspects of web apps and native apps - they're slow, non-native and not cross-platform, and don't have text search, and still have to be installed.
In theory, but the developer still has to build it for each platform separately. Often they don't bother. It's not hard to find Windows-only Electron apps. This stands in contrast to webpages, which "just work" everywhere.
I was unable to create a Mac and Windows builds on Linux hist. Super annoying. Pretty sure it was just me, though. Can't imagine people have different build machines for each platform
There has to be a better way
I'd say they're both important. Yes, you want consistency within the UX. Of course.
But the users' expectations are set by their cumulative (read: across all apps) broader experience. If a high percentage of your users have a certain expectation for Interaction X and the app is not that (tho' consistent within the application) those users will likely be disappointed.
Of course some components + UX are truly unique. Perhaps the crux of your killer app / killer feature. Unfortunately, this is not as often as most ppl think; thus too much time is wasted making unique those things which are better off frictionless and forgettable.
From the user perspective, yet another widget with subtly different behaviour is very annoying. I'd much rather you add drag and drop handling to the existing widget so that everyone benefits and UIs remain consistent.