Nowadays, the amount of Javascript frameworks and libraries are insane. Once I read in Twitter from a guy who was playing with his co workers to say a name or a word, and if there exists a Javascript framework named like that, the person has to drink a shot. Hardcore.

But today I’m not going to talk about all of them but one that has caught my attention in the past month: ReactJS.

Where does it come from?
React is a Javascript library created by Jordan Walke, a Facebook engineer. It’s pretty new, it only has 4 years since its first release, and there is a huge community working hard in order to make it better in every release.

9 Things for Beginner About ReactJS

What can I do with React?
If you know about design patterns, you might have listened about the MVC pattern (Model-View-Controller). If not, all you have to now right now is that React works as the V in MVC. And what does it mean? you might be asking yourself. Well, with React, you can design all the front-end part of your application. That means, you can create easily all the user interface of your application.

Model-View-Controller explanation graph
Who’s using React?
The New York Times
That means you’ll be using a new innovative technology that is being used by some of the biggest brands on internet. You’ll be one of the cool guys!.

Why should I use React?
When you create a React app, it’s basically made of two parts: components, that are the pieces that contains your HTML code and what you want the user to see, and an HTML document where all your components will be rendered.This gives you some advantages:

Rendering and optimization: when your React app is loaded in the browser, all the components that you created are rendered. But let’s say that one of your component suffered a change, maybe because the user interacted with it, then this component is being re-rendered to show the new change. That means that the only parts of the application that are reload (rendered again) are the ones whose state changes.
All the power of HTML, CSS and Javascript together inside the component: when you create a React component, not only you can use HTML and CSS as you usually do, but you can also integrate Javascript in a very nice way. You can define methods inside your components that you can use in every part you want. Forget about creating external scripts and importing/requiring them.
Every component is a Class that you can instantiate. That means that your component can receive arguments that you can use to customize what’s shown in the application.

It’s asynchronous. There are no blocking actions in your application. If something hasn’t finished loading, other components will continue working or loading.

What you pick in 2018 : ReactJS vs AngularJS vs VueJS
What is difference between Node.js and ReactJS?
Uploading files with ReactJS and NodeJS