The Virtual Dom: It is the most powerful feature of react. If you have ever built a webpage, you might be aware of DOM (Document Object Model). It creates a tree structure based on the XML or HTML elements. The DOM is language-independent while the virtual DOM is a feature of react. When we run our application, the virtual DOM is built which basically looks like DOM and the virtual DOM keeps checking for the differences in virtual and actual DOM. It creates or change the part of actual DOM which is changed or added in virtual DOM. This feature can only be added by an efficient Web Application Development Company.
One-way Data-Flow: In react, data can be passed from the parent component to the child component as props but it cannot be sent from child to parent. If you need to do the same you can do it via call-back functions but not as component props. Props are basically any data that can be sent to the child component by the parent component as a property.
Lifecycle Methods: This is one of the core features of react. Every component in react has its own lifecycle. There are different lifecycle methods for each component such as:
1. ComponentDidMount: After the initial components are rendered, implementation of this method in your component works and react calls for the same.
2. ComponentDidUpdate: The action takes place as soon as the component re-renders after the first render.
3. ComponentWillUnmount: The calling takes place when component is about to be destroyed.
There are many other lifecycle methods which you can read about from official react docs.
Hooks: February 2019’s version 16.8.0., there are two types of component in react namely stateful and stateless components. Earlier when hooks were not introduced, we were able to use lifecycle methods in only stateful components, also this holds the state of the component but the functional (or stateless) components cannot. But after hooks came into existence, we can now do that in stateless components as well by using hooks.