Suggest an editImprove this articleRefine the answer for “What is React?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)**React** is a **JavaScript library** for building **user interfaces (UI)**. It was developed by **Facebook (Meta)**, and it is used to build **interactive web applications**, where the interface updates dynamically when data changes, **without reloading the page**. **Key point:** React uses a Virtual DOM, updates only the changed parts of the interface, and is built from independent components.Shown above the full answer for quick recall.Answer (EN)Image**React** is a **JavaScript library** for building **user interfaces (UI)**. It was developed by **Facebook (Meta)**, and it is used to build **interactive web applications**, where the interface updates dynamically when data changes, **without reloading the page**. --- ### Key features of React: 1. **Component-based approach** An application in React is built from **small, independent components** - interface blocks (for example, a button, a form, a product card). Each component: - has its own **state**; - accepts **input data (props)**; - and **describes how the UI should look**. 2. **Virtual DOM** React does not change the real DOM directly. Instead, it creates a **virtual copy of the DOM**, compares it with the previous version (diffing), and **updates only the changed parts of the interface** - this makes React fast and efficient. 3. **One-way data flow** Data in React **flows from top to bottom** - from a parent component to child components through `props`. This makes the application logic more predictable. 4. **JSX (JavaScript XML)** This is a special syntax that allows you to **write HTML-like code directly inside JavaScript**: ```javascript function Hello() { return <h1>Hello, world!</h1>; } ``` JSX is then transformed into regular JS calls to `React.createElement()`. 5. **React Hooks** A modern way to work with state and the component lifecycle **without classes**: ```javascript import { useState } from "react"; function Counter() { const [count, setCount] = useState(0); return ( <button onClick={() => setCount(count + 1)}> Clicked {count} times </button> ); } ``` --- ### Advantages of React: - High performance (via Virtual DOM) - Reusable components - Large ecosystem (React Router, Redux, Next.js) - Active community and Meta supportFor the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.