ReactJS Developer Is Answering the Most Asked Questions About React
As React is gaining more and more popularity, we took an advantage and interviewed one of our dedicated React developer Roman with a huge experience package with React. Here is what he has answered on the frequently asked questions about React.
Q#1 What are the main reasons to learn and use React over Angular?
As React is just a library, it gives you more flexibility to choose additional tools and packages for projects development because Angular has full infrastructure out of a box. However, without any experience in React development you could make the wrong decisions. My decisions were different. When React appeared on the market there was Angular 1 current version, and as I had experience with it I decided to try something new and more lightweight than Angular. Also, as React is just a library it gives you a freedom to choose your favorite tools for application development. And shadow DOM was a completely new approach to manage and update DOM structure.
Q#2 What is the future for React technology?
Looking at the situation around Facebook releases into React and community activity, React framework is going to be in the top among other frameworks and libraries for client side development, until this technology along with ReactJS developers will be replaced with some new and modern solution.
Q#3 What is the difference between React and Node.js?
React and Node.js are completely different technologies. The first one is a client-side library for building interfaces, while the second one is a technology for building server-side apps using JS, so their comparing is not correct. So when we choose a library for client-side development we could choose between a big list of libraries or frameworks like Angular, Vue, React and so on. For me, pros of React are – lightweight bundle for an easy and fast start and freedom as it is just a library, so I can choose additional tools and technologies for React application development.
You need solid knowledge of JS along with new features form ES6. Also, good understanding of DOM model and its manipulations is necessary for a ReactJS developer. React is not so difficult to learn and to start using. You just need to go through the official documentation and that’s all, because there is a lot of basic info and explanation of some advanced techniques. But for those techniques and rich applications you should understand how some React features and parts work.
Q#5 What are the drawbacks of app created with ReactJS
Q#6 Is it true that ReactJS is dying?
Completely false. ReactJS component library takes its part of a market since 2013. Millions of projects are written using React library and furthermore a lot of new projects start with React right now. Once again, Facebook as main maintainer updates it from year to year. Take for example a new Fiber algorithm and a huge amount of core improvements. For instance, Fiber is a completely new approach and redesign of a standard React rendering algorithm. Guys from Facebook made a research for a couple of years and found a new model for efficient and smooth render, that also has a good focus on performance.
Q#7 What are additional required components necessary for developers to build a project with ReactJS?
The most useful React developer tool to start the project – create-react-app. This is npm package that creates skeleton for React app with pre-configured Webpack and Babel. It also has a lot of additional flags for flexible start. Afterwards you will have enough to start a simple client app, but if you want something more complex, you need additional tools. You could choose between Flux, Redux, Mobx and other different state management tools. If you are a fan of reactive programming you could add RxJS. Alongside, some additional stuff could be helpfull like – Reselect, Recompose and so on.
Q#8 How is it possible to make a single page with ReactJS?
React template was created for working with any kind of web app, even single pages. You could just attach it through CDN links or download minified React JS latest version and start creating React components and use them across your website. It is a very simple task – just create React app, and start creating your own components and combine them, also using functionality from a package – React-DOM you could easily inject it into the web page and look at final result written in React.
- Main component lifecycle methods
- How many ways to detect that component has updated
- Difference between stateless and functional components
- ShouldComponentUpdate method usage
- Async nature of setState function
- Difference between state and props
- State immutability
- What is the pure components
- What is the HOC
And much more questions concerning ES world. So be ready to answer those questions on the React developer interview.