React js is an open source JavaScript based front-end framework which makes web application development easy. It enables developers to create dynamic web applications with minimum coding effort and offers important functionalities that are not present in other frameworks.
React is a library which divides the user interface into different self-contained reusable pieces of code called components. This makes it easy to reason about your UI. It also has a number of useful features such as unidirectional data flow, Flux, and one-way data flow that help you build reliable, high-performance apps.
Components are a key part of the React architecture, and you should always think about your code as components. This will make it easier to maintain your code when working on larger scale projects.
Keep your JSX files sorted in component-centric folders that contain all the files related to a single component. This will help you reuse and share your work.
When rendering arrays, use keys to uniquely identify items in the list. This will prevent changes to the list from causing errors.
Using the index as a key can cause problems, particularly if the list is expected to change. For example, if you add an item at the beginning of the list, the index will change to 1 which would lead to an error.
The best way to avoid this problem is to ensure that you extract all non-HTML attributes from restProps before spreading them onto a JSX element.

