WHAT IS REACT?
- React is a free and open-source front-end JavaScript library.
- It is used for building User Interfaces in web development.
- React was first released on May 29, 2013 by Facebook aka Meta.
- It has since become one of the most popular JavaScript libraries for building User Interfaces.
- React follows a component-based architecture, allowing developers to create reusable and independent UI components.
- A component is a small, reusable chunk of code that is often responsible to render some HTML.
Resources
Read: Intro to React
Video Tutorial: React JS Introduction
REACT FEATURES
- React has many extensions that we can use to create full-fledged UI applications.
- It supports mobile app development and provides server-side rendering.
- React divides the web page into multiple components as it's a component-based which means the code is reusable.
- React.js uses JSX which is a combination of HTML and JavaScript. This makes the code easy to debug and easy to understand.
- React uses virtual DOM (Document Object Model) and web application updates are made only the parts that have changed, resulting in faster and more efficient web
IMPORTANT REACT CONCEPTS
JSX
CONTEXT API
COMPONENTS
LIFECYCLE METHODS
PROP TYPES
REACT HOOKS
DESTRUCTURING
REDUX
LAZY LOADING
RENDER PROPS
VIRTUAL DOM
REACT LISTS
FUNCTIONAL COMPONENT
WHAT ARE THE ADVANTAGES?
- Error Handling - React provides error boundaries to catch and handle errors which prevent the entire UI from crashing.
- Declarative - React is declarative, meaning that you tell React what you want and React will build the actual UI
- One-Way Data Binding - React implements one-way data binding, where changes in the UI instantly trigger updates in the application state.
- Flexibility - React can be integrated with various backend programming languages and is not restricted to a specific task.
- Performance - Its virtual DOM ensures that updates and renders are efficient and fast.
- Virtualization - React supports Virtualization techniques like windowing virtualization to handle large datasets efficiently.