DEV Community

Cover image for 7 Reasons Why React is King of JavaScript UI Frameworks
Kinanee Samson
Kinanee Samson

Posted on

7 Reasons Why React is King of JavaScript UI Frameworks

React is still the best JavaScript framework to use for frontend web development in 2022, the framework features many out of the box tools that makes it a breeze to work with. React was created by Jordan Walke at Facebook in 2013. Since then react has grown to become the most used JavaScript framework right now. There are many amazing features of react that makes it a dream to work with, the amazing superpowers of react hooks, or allowing you to just write functional component or the huge community and tons of resources built around react.

At this stage of frontend web application development, there are lots of options you could pick from to get the job done, some claim to be more structured while others claim to be more efficient. You might not totally buy this idea but relax, other frameworks might do a thing or two better than React, but personally I think when it comes to overall performance react outshines most JavaScript frame works I’ve used, the development experience with react is nothing short of superb.

You like Object Oriented approach to building your UI? React has class based components, if you like prefer a functional approach react allows you to use functional components. Let’s explore in detail some of the features that makes react the King of JavaScript UI frameworks.

React Uses Plain JavaScript.

This is often an overlooked part of react, the fact that a react file is a simple JavaScript file that exports a class or a function. Let’s simplify this so you’ll understand how easy it is to get started with react.

If you have npm installed you just have to run ‘npx create-react-app app-name’. That command will bootstrap a starter template react app that you can begin editing immediately. You can easily add your own react component by creating a new JavaScript file that exports a function or a class inside the ‘src’ folder.

export default function Component() {
  return(<h1>Hello World</> )
}
Enter fullscreen mode Exit fullscreen mode

The code snippet above just illustrates how easy it is to get started with react, we just export a function that returns some JSX. Nothing too complex there, except you are not acquainted with JSX.

JSX is a react extension to JavaScript that allows us to write HTML in JavaScript files, do not however think that JSX is just a smile templating language. The use of JSX allows us to keep our component logic and UI in a single file without bloating it. JSX allows us to interpret JavaScript expression and statements by wrapping it in curly braces, it actually compiles first and is faster than the actual JavaScript we write outside JSX.
It is best to consider JSX in another article.

React Supports Class Based or Functional Components

With react there is more than one approach to compose your UI. If you like complexity, forgive my sarcasm then you can use class based components. A class component is Just a class that extends React.Component, it has a render method that is called to build and return our UI.

import { Component } from "react";

class App extends Component {
  render() {
    let message = 'Hello World!';
    return (
      <h1>{ message }</h1>
    );
  }
}
export default App;
Enter fullscreen mode Exit fullscreen mode

Some things should be simple and straightforward so I prefer using functional components. You just declare and export a function that returns our UI as we did in the earlier example. So whatever style you are comfortable with , react has got you.

React Hooks

This is one of the holy grail of react. React hooks just makes your work so much easier, react hooks are designed to simplify difficult tasks like re-rendering the UI, managing state, picking an element from the DOM and lots more. There is a hook for most things you want and if there isn’t any react hook that meets your need then you can also build your own custom hook.

import { useState } from 'react';

const [ count, setCount ] = useState(0);

function App() {
  return (
    <div>
      <p>
          You pressed <b>{ count }</b>
      </p>

      <button
         onClick={setCount(count++)}>
          update count
      </button>
    </div>
  );
};

export default App;
Enter fullscreen mode Exit fullscreen mode

We used a very simple react hook here that allows us to update the state of a component and re render the UI anytime there is a state change. Now most people would say, there are other frameworks that makes state management a built in feature, say for instance Svelte or Angular which is reactive by default, but this way is more concise when compared to using vanilla JavaScript or even jQuery.

This ensures that there is less broiler plate code, we would have written more code if this was done without hooks or from a class based component. Hooks also eliminate the need for listening to multiple life cycle events on components, the hook manages all that behind the scene for you.

React is Extendable

This is one of the great aspects of react, the fact that you can easily integrate react with any JavaScript library or framework. You can be sure that most JavaScript modules will work out of the box when added to your react app. Giving you a good starting point that you can play with. You can add as much as you like or you can keep it is simple as you like, it's all down to you to decide.

There are many other framework that are built on top of react, take for instance NextJs, Gatsby, etc.

NextJs is a framework for full stack web app development, NextJS allows us to build for both the server and the frontend from the same codebase, React does not ship apps that can be indexed by SEO bots, but NextJS solves this approach in many efficient ways. Server side rendered applications, pre built HTML templates that can be rendered on the client.

Gatsby is another awesome alternative to NextJS, it basically offers the same features as NextJS and it shouldn't be taken lightly.

React supports Multiple UI Design approach

React also supports multiple approach when it comes to application architecture and and design structure. It is up to you to chose the design and development approach to building your application, you want a data driven system or you want a state driven system?

All that react presents to us is a bare bones for building our application, we get to decide how we are going to use react to build our web app. You decide how you want to structure your components and how you want it to interact with your application state. Your components could be tightly coupled to your application state if that's what works for you.

React has a small learning curve

There is almost zero learning curve for JavaScript developers when they come to start using react and good JavaScript engineer should find it easy to get started with, as compared to learning Typescript because you want to use Angular, don’t get me wrong, TypeScript is an awesome tool and I totally love using it. But the learning curve wasn’t smooth from a beginners perspective.

Since react is basically plain JavaScript, if you are already familiar with using JavaScript, you will find it quite simple to learn react. This does not imply that react is timid, it is advanced enough for the professional while presenting itself in a very simple manner to the beginner.

React has a super strong community

It has the backing of Facebook and an ecosystem of over 100M developers who work with react daily. React is loved amongst the JavaScript ecosystem and remains the most downloaded JavaScript UI library on npm with over 14,534,124 npm downloads.

Leave your thoughts on react and Let me know if you have other frameworks you think comes close or even beats react. I’d love to to see a Thing  or two.

Discussion (69)

Collapse
capz profile image
Leroy

React might be great for some. Not to rain on your parade but it's really not a framework, despite what people are claiming it to be. It's a library. Like jquery.

And there are tons of libraries that are of similar functionality. Like vue, svelte, or if you like actual frameworks, angular.

I've recently been charmed by svelte but for work, nothing beats angular for spas

Collapse
lukeshiru profile image
Luke Shiru

"nothing beats Angular" .... you might want to take a look at 2022 trends (take a look at the latest "State of JavaScript"). Of the options out there, Angular is one of the worst 😅

Collapse
retry2z profile image
Hristiyan Hristov

Not to boder but you can't compare library to framework angular expose tons of ways to optimize the application, sure is hard to learn but once you done it it's more easy than react. And to back up my words I work with react on cz it's the popular one and teach angular to students so I have to know them both

Thread Thread
lukeshiru profile image
Luke Shiru

If you work with React, and you know the value that libraries like it have, why teach Angular? Is almost the worst (second to Ember) in satisfaction and interest, not to mention the positive/negative split. The main issue with Angular (and any framework like it), is that in order to get some value, you have to learn stuff that is "only Angular" (Directives, Observables, Services and all that jazz), knowledge that will be useless in anything non-angular, so the "ROI" for Angular is extremely low. The other problem Angular has is that folks using it will get used to look for the "Framework solution" to every problem, instead of actually checking if maybe the language itself has a solution for that ... like "how to map in X", instead of just using Array.prototype.map.

Angular tends to be the preferred solution for back-end folks with a strong class based background, such as Java, so they really like the overengineered nature of it. But folks actually working with front-end can tell you that the simpler, the better. Heck, Svelte got a lot of traction and became trendy mainly because you almost write vanilla HTML/CSS/JS, and get an extremely performant reactive WebApp.

I know you'll not take advice from a random guy on DEV, but I'll still recommend you change Angular with something more useful for your students, something they'll actually enjoy working with in real world scenarios.

Cheers!

Thread Thread
retry2z profile image
Hristiyan Hristov

You are completely right and not those things are just decorators and and pure classes you can actually drop zone drop rxjs and make it even less. Soon or later they ll face big problems not only write components and functionality and that's it. Once learn how Angular provide solutions they apply for all js libs. I teach thinkers after that if they want react or what workspace will require 3h video will be enough, but principles will remain.

Collapse
devdufutur profile image
Rudy Nappée

Since hooks and context, React can be seen as a framework, not as rigid as angular but still, you don't really need anything else.

Collapse
kodipe profile image
Konrad Przydział

Hooks and context have nothing to do with "framework". React is a UI library due to lack of concrete architecture IMO.

Thread Thread
brense profile image
Rense Bakker

Framework: "a supporting structure around which something can be built"

Cambridge dictionary: framework

What you're trying to say, it doesn't fit the angular definition of itself and angular calls itself a framework, so everything else is now not a framework? Thats not how words work :P Angular is a different kind of very opinionated framework. Opinionated frameworks are nice if everyone has the same opinion, which was (more or less) briefly the case when angular was first introduced, because it made 2-way data binding easy. Something which was hard(er) in other frameworks of the time like Backbone.js.

React very much defines a supporting structure around which something can be built. The built-in hooks are part of that structure. For an incomplete reference, take a look here: reactjs.org/docs/react-api.html or look at the typedefs for the React object to see what supporting structure React defines :P

Why are we even having this discussion? The trends are extremely obvious, angular is done. 2021.stateofjs.com/en-US/libraries... angular hasnt been popular even before Russia invaded Crimea :B You might as well try to defend ember.js 😅

Thread Thread
devdufutur profile image
Rudy Nappée

IMO it's a (light) framework because you don't have to add anything to write full featured applications et scale. I mention hooks because before them we needed a state management tool like redux.

Furthermore React enforce an opiniated unidirectional flowed component based architecture.

Thread Thread
kodipe profile image
Konrad Przydział

@brense I didn't mentioned Angular and its definition of framework, also I didn't defend any framework at all - just talk about React itself.

From my perspective React was and still is a library which solve exactly one problem - playing with VirtualDOM (and side effects) and translating it to changes in DOM. Of course you can write whole application around React but you can do it also around any other library like e.g. jQuery which solve also one problem.

Any other typicall problems like communication with API, state management, routing are solved not by React but 3rd-party libraries which in many cases just integrate other 3rd-party libraries with React (e.g. Redux).

When it comes to architecture/structure topic, React just reacts on certain side effects and run composed functions if something has been changed to modify VirtualDOM and DOM after all. I don't see here anything about supporting structure.

Thread Thread
brense profile image
Rense Bakker

I'm not sure how API communication and state management or routing translate to "structure" for you... IMHO those are domain specific choices. Some business logic doesnt even need routing or API calls...

React doesnt tell you how you should structure your code, thats not the definition of a framework. A framework IS a supporting structure ontop of which you can build. Which is exactly what React is. A framework that tells you how YOU should structure whatever you're building is opinionated and will ultimately fail because it can't keep up with rapid changes in software development.

Thread Thread
ciboga profile image
Marcos

It´s possible to mix angular and react in the same front-end project? React and vue, react and svelte? So you can call it a library. If not, react can be called a framework?

Thread Thread
brense profile image
Rense Bakker

Well technically anything is possible, but no, generally it's not a practice to include React in an angular project or vise versa etc.

Collapse
kalashin1 profile image
Kinanee Samson Author

I have actually built UIs with Angular. I even learned Angular before i learned react. Angular is a great framework, and it allows you to build very robust applications. I also like the Angular CLI too.

However apps that I built with Angular ends up being quite large, angular also enforces a strict application structure.

You have to learn TypeScript, if you don't already know how to use it, then you have to learn how to work with Observables, 😥.

Svelte comes close, i like how simple it is to get started with, it has an elegant syntax and a great state management solution which is built in.

Then Again i find myself running back to react, because some libraries I'd like to use doesn't really works out of the box, svelte has a great community but its nowhere near what react has.

Again like I said earlier, in some aspects some frameworks are better, however when it comes to overall performance remains dominant.

Collapse
shriji profile image
Shriji

Svelte plays very well with JS, this is a oldest arguments users from angular and react often pull from their books. If you really run back to react then you did not research and spend enough time to optimize with just JS.

Collapse
jekinney profile image
jekinney

Great comment until you attempted to pass your opinion as fact. The, arguably, big three vue, react and Angular do a fine job.

Collapse
lalit64 profile image
Lalit Yalamanchili

PS. Svelte is a compiler 😉

Collapse
shimatai profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Wagner

Angular is just a piece of shit. Imagine a Java/Node backend developer and I hate Angular. You write too much to get a ridiculous result.

Collapse
jonrandy profile image
Jon Randy • Edited on

The only reason to use React is probably the large community. I use it at work, but I really don't like it. It's not the fastest thing in the world, it uses JSX (which is an abomination), it encourages unstructured messy code...

I've also used VueJS and RiotJS (less well known, but has been around about as long as React - and seems to have been a large influence on Svelte) - and they are both much nicer to work with than React.

Collapse
raibtoffoletto profile image
Raí B. Toffoletto

I'm interested to hear why JSX is an abomination, because I cannot see why.

btw, people who do spaghetti code will do spaghetti code in any language / framework. Even the more strict ones, they just love 🍝.

As anything in JS, with great freedom comes great responsibility. 😉

Collapse
jonrandy profile image
Jon Randy • Edited on

For me, JSX harks back to the bad old days of PHP and ASP where logic and layout were horribly intertwined. JSX actively encourages this way of working once again - it's just awful. And yes, I know the mess is purely down to the way people are using it... but I've seen many other frameworks that keep this separation to a much greater degree - promoting much neater, coherent code.

Thread Thread
natescode profile image
Nathan Hedglin

If you're tightly coupling logic and layout then you're doing it wrong. You can use logic inside the layout because it is needed. Everything in JSX is just an expression. I make reusable functions all the time.

Thread Thread
jonrandy profile image
Jon Randy

I totally agree, but unfortunately the fact that it enables such an awful mixture of layout and logic can, and does, result in hideously coupled code. Again, I know it's down to how it's used and I have seen it very occasionally used well, but I think JSX is headed in wayyy the wrong direction.

Thread Thread
natescode profile image
Nathan Hedglin

Welcome to frontend. It is about fads and not actually getting anything done 😂.

What is the alternative? Using a framework specific language like v-for? That's worse imho.

Thread Thread
avinkavish profile image
avin-kavish

I think JSX is a genius invention. It eliminates the horrible unreasonability of template binding and just lets you build a coherant view in one logical flow.

Thread Thread
natescode profile image
Nathan Hedglin

Agreed. At first I thought it was an abomination too but I've learned.

Thread Thread
yoquiale profile image
Alex

Meh, v-for and ng-for look better to the eyes and makes your code cleaner than mapping an array of objects and returning a html element.

Thread Thread
jonrandy profile image
Jon Randy

RiotJS is also extremely readable IMO - and it feels very much like writing normal HTML/JS/CSS

Thread Thread
yoquiale profile image
Alex

Agree, I've never heard about it but just looked at one of the examples stated on its website and it makes sense to me.

Thread Thread
jonrandy profile image
Jon Randy

Yeah, it's not that well known but has been around almost as long as React

Collapse
brianmcbride profile image
Brian McBride

JSX isn't bad, but I see @jonrandy 's point.

I think since the first days of app development anywhere, there has been the constant learnings of "don't put your business logic in your views."

I don't use Angular as my first pick of a tool, but partly the reason many devs don't like it is because it forces them to actually use a MVC (varient) pattern. Since hooks came around, I see more and more code just thrown into hooks and shoved into view components.

This makes the code harder to test in unit tests and automation. It makes it hader to refactor or update later. It makes it harder to debug. But it sure is easier to code on the first pass.

Like all coding languages though, JSX can be great. React expects the developer to properly architect the app. If you take the time to build your logic in isolated modules (that can still be called in a hook) you end up with the "contollers" and "services" in Angular. Unless you are building a portfolio website or something crazy simple - a proper React app/site is going to be just as big and heavy as an Angular site.

Collapse
kodipe profile image
Konrad Przydział • Edited on

"React has a small learning curve"

React is easy to learn but hard to mastering. As a developer who worked a bit with React, Angular and Vue I think that the first one is the hardest one after all.

Usually community of React is discussing about hooks, contexts and other few features of library. They talk about UI libraries, forms handling etc. but there is much less discussions about architecture and good patterns at all (not only from React perspective).

As a developer who has to develop and maintain React project which has been written with "react-way" thinking before I become a team member, I must say that there is nothing worse thing than programming without focus on programming and framework/library-agnostic good patterns.

As a React developers we should talk more about decoupled business logic which is not handled by e.g. hooks but only integrated within them with UI, clean architecture and other good practices.

Collapse
npobbathi profile image
Nagesh Pobbathi

Yeah, good point. That's what we do when we generate the React code at Quest. We decouple the presentation and the business logic, so the presentation is generated automatically from the design and the business logic can custom-coded.

Collapse
mrkhan profile image
Mark Han

So true!

Collapse
jfbrennan profile image
Jordan Brennan

React is king of nothing: it’s not the fastest, it’s not the smallest, it’s not the easiest, it’s not the most compatible, it’s not the most popular.

React is also not “plain Javascript”. That’s why you had to explain what JSX was :) Template literals are plain JavaScript. Also, React has compatibility issues with Custom Elements because it’s not just “plain JavaScript”.

React was surpassed by other component-based libraries shortly after it was released. There have been faster, smaller, easier, more compatible choices for almost as long as React has been a thing.

The only crown it has is the one Facebook (and nervous engineering managers who stick to “most popular” rather than “best fit”) put on it.

Collapse
beggars profile image
Dwayne Charrington • Edited on

Let's be honest, the number one reason people use React is because it's the popular option. There are so many better options out there that are not React which are much better. You don't hear about them as much because everyone is concerned with job security and not challenging the status quo.

React is PHP in the browser, evident by the fact it allows you to mix business logic and markup like PHP. It explains a lot that Facebook are behind it and they're a well-known PHP shop.

Collapse
jekinney profile image
jekinney

One of the most biased articles I've read.

Years ago when Ember was a thing, might still be, was easier to find a great JavaScript dev if they were proficient in Ember.

What is best is dependent on the application and what developers are proficient at on the team. Another aspect to tie in the ember statement is most vue developers know actual JavaScript where many times Angular and React seem to always try to grab a plug in or use some magic. Ie more work to get out of work.

Collapse
damiensn profile image
Damien S • Edited on

Nice article ! But personally I prefer Svelte since it has a clear and concise syntax and it's really faster than react. You have also a built in system to manage stores like you can do with react, which is also very practical.

Collapse
supersharktg profile image
Tani Kichiro

Wonderful reasons why front end developers should choose ReactJS.
In previous React JS, I used so many ref operations to avoid expensive rerendering instead of useMemo or useCallback.
I want to know whether this is good practice or not.
Thanks for reading.

Collapse
devdufutur profile image
Rudy Nappée

I have extensive use or refs too. I guess it's faster than memo or callback because it didn't have to check for dependencies changes on each render cycle.

Collapse
devdufutur profile image
Rudy Nappée

Great article ! I would add react is one of the only front-end framework which promote immutability and functional description of the UI (with plain JavaScript, not another weird HTML-like DSL)

Collapse
jamesvanderpump profile image
James Vanderpump

No regrets of rewriting a big Vue site to React. I would probably rewrite it to the next best thing if it provides strong benefits and gains a bigger market share. Until that happens I'll happily ride the React train into the sunset.

Collapse
jwp profile image
John Peters

React is very popular. That alone makes it a great career choice. Its time will persist just like JQuery, which is still the most popular. But both probably have met their match with Webcomponents and WASM. These two are the future. But that's just my opinion. Zuckerberg is yucky too.

Collapse
brianmcbride profile image
Brian McBride

Let's just all let JQuery die off. sigh

Collapse
mitch_chanza_93fef780e873 profile image
Mitch Chanza • Edited on

Well said!. But all the hype about the best framework or library is not necessary. As far as our ego is concerned , software developers we are the most confused and difficult breed in the universe. Have you noticed how C is criticised now? We forget that without C the we would not have other languages. I for one use all the tools suited to a job. I try to diversify my skills to remain relevant. Thats why i learned vue, jquery, nodejs, deno, angular, react. When a project comes i decide which stack to use based on requirements. They are all great tools.

Collapse
wilmela profile image
Wilmela • Edited on

I will go with react and the likes of Next.js any day and time. The freedom they give is second to none. Angular is definitely cool too but kinda difficult to wrap your head around if you are a beginner.

Nice write up.

Collapse
premierdan profile image
premierdan

Nice one

Collapse
imonem profile image
imonem

Great article, the comments also have some gems. 👍

Collapse
ironcladdev profile image
IroncladDev

I totally agree, react is the most amazing javascript framework

Collapse
yoquiale profile image
Alex • Edited on

React doesn't suit my coding style, I prefer Vue and Angular because of the proper separation between logic, markup and style, and because they have custom directives and a better templating system. I'd rather do

<li v-for="item in items">{ item.etc}</li>
Enter fullscreen mode Exit fullscreen mode

than

items.map(item => <li>{item.etc}</li>)
Enter fullscreen mode Exit fullscreen mode

I hate it's too popular and would rather see more Vue and Angular job postings.

Collapse
noriller profile image
Bruno Noriller

I've learned and used Angular before React, so I know where you're coming from.

But the more I used, the more it "makes sense". But it's a fine line between just YOLO and doing whatever and actually taking the time to do it right.

With React, I do feel like it's easier to just make whatever, because it let's you and everyone out there appears to do like that.

But you can also make something that encapsulate logic from markup and style.

Collapse
metal3d profile image
Patrice Ferlet • Edited on

React is not able to handle storage pattern (Angular has got services, Vue handles storage pattern) so you need Proxy and Context or Redux ⇒ bad
React has not real structure of project ⇒ bad
React mixes view and code, that makes the component a mess ⇒ bad
React handles almost everything in a view, even routes (which are not managed natively) ⇒ bad
React needs "useXXX" to be able to listen for something, and the setter function is not the same that getter ⇒ My god, it's so bad...
My list is long to say that React is very very bad. It's the new jQuery, everybody wants to use it because it's the fashion. But it's bad.

Collapse
tigawanna profile image
Dennis kinuthia

React query is one of my best part about react that you won't find in the newer libraries

Collapse
brianmcbride profile image
Brian McBride

React had a place back when web components were a mess.
Now it doens't fully support the actual web standards and custom components. It isn't as fast or as small as similar libs (Preact, Solid, etc...) either.

This is why I see React as still heavily used:

  1. There are a TON of resources, libs, training materials, etc...
  2. Facebook can "do no wrong" in the web development community. No idea why. There are talented devs in FB. But also elsewhere. The general herd mentality seems to keep the momentum though.
  3. Because of the above, it is easier to hire React developers as there are more of them. For various reasons, it is a path of low-resistence just to stick with React (or Angular) for many corps.

Personally, I think we are beyond the time where the web community should focus on web component archtiecture that works with any reactive lib. There is Lit, Stencil, and others that are a very small amount of helper syntax to make working with the core Web Components easier. Imagine a popular React lib like Material-UI that was just common components that would work just as great in React, Vue, Angular, Svelte, Solid, etc...

Libs like React will still have a place. But like DOM routers, they can be a lib where you pick the "reactive" lib that you like the most to handle your lifecycle, state, etc...

Collapse
dannyengelman profile image
Danny Engelman

One thing everyone ignores. The future of Web standards are now defined by the WHATWG. So Google, Mozilla, Apple and Microsoft together set that standard. Facebook hasn't been invited yet

en.wikipedia.org/wiki/WHATWG

Collapse
brianmcbride profile image
Brian McBride

Facebook as an org seems to have a poor history of contributing to existing open source projects. I very much appreciate all they have given to the community. That goes for anyone who maintains or contributes to open source.

I seriously question the "invited" aspect. First, it looks like the group is mainly the people who build the browsers? And there is a process for submitting to the W3C standards.

I have no idea if it is corporate policy or corporate culture - but Facebook just seems to go their own way with little to no regard for standards unless they have no choice or just happen to like something.

Collapse
akapulka profile image
akapulka

"It has the backing of Facebook" I love this argument. Yes it does have backing of facebook which is one of the worst companies there's and the best part facebook itself is slow buggy mess so this is more of a con than pro.

Collapse
tealover418 profile image
Stijn de Ligt

React on it's own is unusable for me, even though React is my favourite front-end framework.

Because it's a library and not a framework you need a lot of extra tools to create a full React application. Instead I opt to use meta frameworks like NextJs and Gatsby. These are built on top of React and make setting up a project not make you want to jump off a bridge.

That's the biggest drawback for React, and also why I think the opinions are so extreme on it. People that use meta frameworks love it, people that try to set up a regular React stack hate it and go back to Vue. Just a working theory.

Collapse
shriji profile image
Shriji

The title gave me a great laugh.

Sorry but react is not the king!

Svelte >>>>>>> react.

Collapse
rixbeck_ profile image
Rix Beck

I think jsx is basically a bad idea except in quick and dirty solutions. In complex codebase much better to keep code and view separately. It is a nightmare for me editing code when I just want to change visual style. Not to mention also the generated markup snippets.

Collapse
mrkhan profile image
Mark Han

I promise you that even in a complex codebase with JSX it’s still possible to keep logic out of your views 😆

Collapse
_udemezue profile image
udemezue John

Vue js has all of these too

Collapse
metal3d profile image
Patrice Ferlet

React has never invented something. Excepting making all projects unmaintainable.

Collapse
agat profile image
Aleksej Romanovskij

You "React Hooks" example is wrong, hooks work only inside a components. :)

Collapse
delacernamarimar profile image
Marimar Dela Cerna

Awesome! Still using it for my projects

Collapse
anuragvohraec profile image
Anurag Vohra • Edited on

React might be the number one JSX framework. JSX is not JS, and hence definitely not the best JS framework.
You have not explored enough options.

Collapse
chichebewebdev profile image
Chichebe@WebDev

Despite react being a JavaScript library, it still accommodate other Frameworks like react-dom to make it reactive and scalable.
I believe react is the best to work with.

Collapse
hyggedev profile image
Chris Hansen

React babyy! 🔥 Awesome post 💯