6 ms·
Rewrite the first paragraph replacing "React" by "HTML". React is mostly HTML driven by data. "HTML killed front end innovation". Well that enabled standards t
by maelito 1y ago
Rewrite the first paragraph replacing "React" by "HTML".
React is mostly HTML driven by data. "HTML killed front end innovation". Well that enabled standards to build real use cases on it with a common ground.
Before React, the Web world was a mess. In 2025, you have lots of frameworks to explore. React did not kill front end innovation at all, it just became a standard that gives more common understanding to building a website.
- mrits 1y ago[flagged]
- skrebbel 1y agoHN has a button exactly for that!
- scotty79 1y agoWhich one? Maybe there should be "reply later" button that would keep the spot for your future comment so you don't lose track of it?
- webstrand 1y agoI sometimes use "favorite" for that.
- Supermancho 1y ago> Which one? Everyone should have the "close browser" button.
- rendall 1y agoEnh. That button is often used for "your post gives me bad feelings" but it's supposed to be for "your post is bad for the community"
- sarchertech 1y agoGo read pg’s comments on downvoting. HN has always been fine with using downvotes to signify disagreement.
- rendall 1y ago> Go read pg’s comments on downvoting. Hmm. That sounds an awful lot like "It's true! Google it!"
- sarchertech 1y agoWell if you’d googled it you’d have seen it was true. From pg in 2008. >I think it's ok to use the up and down arrows to express agreement. Obviously the uparrows aren't only for applauding politeness, so it seems reasonable that the downarrows aren't only for booing rudeness. https://news.ycombinator.com/item?id=117171 https://news.ycombinator.com/item?id=117171
- rendall 1y agoWell I'll be danged.
- yladiz 1y agoNext time I would recommend to just wait until you’re less emotional and respond then. Your comment now doesn’t really add anything to the conversation, whereas one with a level head might.
- mrits 1y agoThanks for adding to the conversation
- jonny_eh 1y agoI make myself less emotional about internet comments by first assuming they're all written by bots :D
- skrebbel 1y ago> React is mostly HTML driven by data. I wish! Mostly though, React is a terrible mess of hooks with weird rules, suspense, “use client”, pedantic docs, and millions of other idiosyncrasies that have no business being this mainstream. I think most people agree that the core ideas are great. Eg composable components, props, unidirectional data flow etc. There’s a reason that all other reasonably popular frontend frameworks adopted these ideas. It’s great that React established them. It’s just a bit sad that React established them.
- rimunroe 1y ago> pedantic docs Are you referring to something in particular here? I've had my issues with the docs in the past, but I don't think I'd describe any of them being related to pedantry.
- skrebbel 1y agoYeah stuff like useEffect which is supposedly a function that "lets you synchronize a component with an external system" [0] So eg when you want to focus an input, how do you do that? That's the input itself right, that's my core UI, that's not synchronizing, it's not an external system so I'm not supposed to use useEffect for that, right? That'd be bad, no? Turns out I do need useEffect, and in fact it's the only way, barring using 3rd party hooks or components that, themselves, use useEffect for this. And the idea is (I assume?) that the DOM is the external system! This absolutely bonkers! The DOM is my app! That's not an external system at all. It's as non-external as things can get and I'm not synchronizing anything, I'm focusing an input. This entire "external system" story isn't at all about what useEffect is, it's not what it does, it's merely what the React designers have decided you should use it for. useEffect lets you run side effects. That's it, that's all there is to it. But they rewrote the docs with total beginners in mind, and put them so full of dos and donts that they forgot to explain what stuff actually does. Gaaah. And half the documentation is like this. It dances around the actual behavior, never really explicitly saying what things do or how they work, with huge rants about what I ought to do and no info, except maaayybe hidden in some expando, about how things actually work and why. [0] https://react.dev/reference/react/useEffect https://react.dev/reference/react/useEffect
- CharlieDigital 1y agoActually, React's problem is that it's the inverse of how HTML and JavaScript works in terms of how to handle callbacks. Of the major UI frameworks, it is the only one with this quality (Vue, Svelte, Angular, Solid, etc. use signals). This inverted behavior is the cause of most of the pain and footguns in React and React Hooks because the way state behaves in a React component is not the way state behaves in any other front-end JS one would normally write. That's why I think for some folks who started with HTML + vanilla JS, React Hooks just feels wrong. It points the reactive callback to the component function whereas every other framework/library uses some sort of signal to point the reactive callback to a handler. Because React points the callback to the component function, then you have to be really cautious about where you put state inside of a component[0][1][2] Even You wrote this about React's design choice which I think sums it up best: > The pain and suffer[ing] of hooks all roots from the mismatch between a dogmatic belief in the superiority of immutability and the harsh reality of the host language that is JavaScript If you want to "feel" this for yourself, here are a series of JSFiddles: - Vanilla: https://jsfiddle.net/qtmkbdo2/8/ https://jsfiddle.net/qtmkbdo2/8/ - Vue: https://jsfiddle.net/vys2rmup https://jsfiddle.net/vys2rmup - React: https://jsfiddle.net/0gjckrae/1/ https://jsfiddle.net/0gjckrae/1/ It should be obvious that Vanilla and Vue behave like how one would expect callbacks to work. React, because it points the callback to the component function, then requires that you be cognizant of state inside of the component function (placement, memoization, immutability, etc.). All of the pain of React is self-imposed from this design decision. You can read more about it here: https://chrlschn.dev/blog/2025/01/the-inverted-reactivity-model-of-react/ https://chrlschn.dev/blog/2025/01/the-inverted-reactivity-mo... -- [0] https://adevnadia.medium.com/i-tried-react-compiler-today-and-guess-what-c0570ce10ecc https://adevnadia.medium.com/i-tried-react-compiler-today-an... [1] https://tkdodo.eu/blog/the-useless-use-callback https://tkdodo.eu/blog/the-useless-use-callback [2] https://adevnadia.medium.com/react-re-renders-guide-why-react-components-re-render-a4efab132c10 https://adevnadia.medium.com/react-re-renders-guide-why-reac...
- pverheggen 1y agoTechnically in React, the reactive callback is still the event handler. It's a two-step process where your event handler is evaluated first, then re-evaluates the component tree which changed as a result of the handler. In your JSFiddle example, if you modify `onChange` to print a console log instead of setting state, you'll see that it doesn't run the component function again. So really, the key difference between React and Vue is that your function component is not the setup, it's the template.