2013년에 페이스북에서 만든 자바스크립트의 라이브러리로, SPA(싱글 페이지 애플리케이션)의 UI를 생성하는데 집중한 라이브러리이다.
웹 브라우저가 웹사이트의 텍스트 문서를 읽어서 DOM(Document Object Model)이라는 트리 구조로 바꾸어 사용자에게 보여주게 되는데, 웹 개발자들은 사용자의 반응에 따라 이 DOM 트리를 변경하여 웹사이트의 내용을 갱신한다. 하지만 매번 작은 변화가 있을 때마다 전체 화면을 새로 그리는 것은 성능에 좋지 않다. 그래서 React는 이 문제를 해결하기 위해 Virtual DOM을 도입하였다.
Virtual DOM은 실제 DOM의 복제본으로, 웹 개발자들이 변화를 주고 싶은 부분만 Virtual DOM에서 수정하게 된다. 그 후, React는 Virtual DOM과 실제 DOM 사이의 차이점을 찾아내어, 그 차이점만 실제 DOM에 반영하게 된다. 불필요한 화면의 갱신을 최소화하여 성능을 향상시킬 수 있다.
리액트는 생성된 컴포넌트를 쉽게 재사용할 수 있다.
Redux 개발자 도구와 함께 React 개발자 도구는 매우 편리한 기능이 제공되며, 크롬 확장 프로그램처럼 쉽게 설치하여 사용할 수 있다.
JSX라는 리액트의 문법은 자바스크립트와 HTML을 조합한 형태로, 가독성이 높고 컴포넌트의 구조를 명확히 표현할 수 있다. 이를 통해 개발자들은 코드를 더 쉽게 이해하고 유지보수할 수 있다.