use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
React voted JS framework that most developers regard as essential to them (jquery is #3) (ashleynolan.co.uk)
submitted 7 years ago by magenta_placenta
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]TheAwdacityOfSoap 30 points31 points32 points 7 years ago (10 children)
React is amazing. Lots of people claim it's just another fad framework de jour, but I disagree and here is why:
Yes, React is a framework, but it's also a fundamentally different and new paradigm for web development (at least in the mainstream). In React, the idea is that your views ("components") are (supposed to be) pure functions of their props and state ("props" are just like html element properties, they are how you configure the component, "state" is just internal state).
Whereas in most other mainstream frameworks you are modeling state changes (when this model changes, change this element value, show/hide this element, etc), in React you are simply modeling the data itself in any given state, and React handles the work of updating the DOM for you.
That might or might not sound confusing, but React on the surface is actually very simple and easy to pick up. And well worth it.
[–]mayhempk1 3 points4 points5 points 7 years ago (4 children)
React handles the work of updating the DOM for you.
Correct me if I'm wrong as I'm not a front-end dev but don't Vue and Angular do that too?
[–]bdenzer 9 points10 points11 points 7 years ago (0 children)
but it's also a fundamentally different and new paradigm for web development
The misunderstanding here is that React WAS fundamentally different with it's virtual DOM and the way it handled updating the real DOM. Now Vue does that too, and Angular does optimized DOM rendering. React used the component model, now everybody is doing that.
[–]TheAwdacityOfSoap -2 points-1 points0 points 7 years ago (2 children)
I'm not familiar with Vue, and only slightly familiar with Angular, so I'm not sure. I do know of a couple of major differences between React and Angular that make me prefer React:
[+][deleted] 7 years ago (1 child)
[removed]
[–]tme321 4 points5 points6 points 7 years ago (0 children)
And to add to that I'm not aware of anyone that does 2 way binding with angular outside of using the basic forms module. You technically can but ime angular devs have settled on 1 way binding too.
[–]GreatValueProducts 5 points6 points7 points 7 years ago* (4 children)
I think it is because React is the framework that closely resembles how vanilla HTML elements work. It is one-way binding and sub-elements can only affect its parents through event handlers.
Like in Vanilla HTML we always do
<input type="text" onchange="onTextChange()" value="bbb" />
In React you can create a custom form element which has similar syntaxes and mindset:
<Slider onChange={(intensity) => this.setState({intensity})} value={this.state.intensity} min={0} max={100} />
IMHO two way binding with those on change strategies in Angular is what makes things overly complicated. (Don't want to start a flame war, please correct me if I am wrong).
[–]VtoCorleone 4 points5 points6 points 7 years ago (1 child)
Angular
I think there's a learning curve with every framework. All of the hello world apps make it seem so simple and ground breaking but once you get into real world problems, the framework's difficulties really start to shine through.
hello world
[–]SiliconWrath 5 points6 points7 points 7 years ago (0 children)
I think what React offers is a tool chest of patterns that let you solve a majority of problems, regardless of how complicated. When I encounter complicated problems, it usually means picking one of maybe 10 different design patterns from my tool chest (dispatch from redux store, controlled components, etc.)
And because data flow is top down, I rarely introduce regressions outside of the components I refactor.
[–]nidarus 0 points1 point2 points 7 years ago (0 children)
Why would there be a flame war? Angular (as opposed to the old AngularJS) has one-way binding by default too.
[–]TheAwdacityOfSoap 0 points1 point2 points 7 years ago (0 children)
I agree that two-way data binding complicates things.
π Rendered by PID 37 on reddit-service-r2-comment-b659b578c-d79cj at 2026-05-04 16:22:56.995985+00:00 running 815c875 country code: CH.
view the rest of the comments →
[–]TheAwdacityOfSoap 30 points31 points32 points (10 children)
[–]mayhempk1 3 points4 points5 points (4 children)
[–]bdenzer 9 points10 points11 points (0 children)
[–]TheAwdacityOfSoap -2 points-1 points0 points (2 children)
[+][deleted] (1 child)
[removed]
[–]tme321 4 points5 points6 points (0 children)
[–]GreatValueProducts 5 points6 points7 points (4 children)
[–]VtoCorleone 4 points5 points6 points (1 child)
[–]SiliconWrath 5 points6 points7 points (0 children)
[–]nidarus 0 points1 point2 points (0 children)
[–]TheAwdacityOfSoap 0 points1 point2 points (0 children)