←back to thread

324 points onnnon | 3 comments | | HN request time: 0s | source
Show context
breckenedge ◴[] No.42728538[source]
Glad they spent some times discussing the downsides. I’m 4 months in to a Hotwire Native replacement for an unmaintained React Native app. The differences are stark and I could definitely see myself picking up Hotwire again for another project if given the same constraints, but I’ve had good experiences with React Native in the past too. Ultimately though I just do not like all the work that has to go into maintaining a large scale React codebase.
replies(4): >>42728584 #>>42730514 #>>42731681 #>>42737998 #
mattgreenrocks ◴[] No.42728584[source]
Curious what you meant by the last sentence there. Does React uniquely complicate maintenance as a codebase grows?
replies(2): >>42728646 #>>42736403 #
breckenedge ◴[] No.42728646[source]
Theres a constant churn of a bunch of dependencies. Devs add minuscule libraries all the time. And I think some of the best React libraries have been abandoned, which is kinda sad, but nice from a maintenance perspective.

React very much feels like programming using only side-effects and that’s not really a fun experience IMHO. Performance issues are also somewhat difficult to spot in review and not very elegant to solve.

It’s been a few years since I’ve used React Native so maybe things are better now?

replies(4): >>42728699 #>>42729924 #>>42732824 #>>42735864 #
nathanappere ◴[] No.42735864[source]
"React very much feels like programming using only side-effects" this absolutely nails it.
replies(2): >>42737886 #>>42743429 #
1. breckenedge ◴[] No.42737886[source]
You’re never telling React “do this”, instead it’s always “change this state” and then hope that it does what you expect it to do, but instead it re-renders 10 components for nonobvious reasons. Sure useMemo can help with this, but, eh, I just wish it worked the first way.

And every React-adjacent project either ends up abandoned or subsumed into the beast.

replies(2): >>42739054 #>>42753254 #
2. nathanappere ◴[] No.42739054[source]
After having used Ember for several years I find it very sad they didn't develop a "mobile" offering, the dev experience is fastly superior (especially as it relates to state handling).

Hooks are a bit of a cancer, they leak absolutely everywhere on top of making it quite difficult to reason about re-renders.

3. r3d0c ◴[] No.42753254[source]
because you didn't learn how react works and thought just knowing javascript was enough, it's very obvious and the devtools literally how you why and where you're getting extra re-renders from; but i guess whining is easier