'''[[React]]''' (also known as '''React.js''' or '''ReactJS''') is a [[free and open-source software|free and open-source]] [[frontend and backend|front-end]] [[JavaScript library]]<ref name="reactjs.org-3">{{Cite web |title=React – A JavaScript library for building user interfaces. |url=https://reactjs.org |url-status=live |access-date=7 April 2018 |website=reactjs.org |language=en-US |archive-date=April 8, 2018 |archive-url=https://web.archive.org/web/20180408084010/https://reactjs.org/ }}</ref><ref>{{Cite web |title=Chapter 1. What Is React? - What React Is and Why It Matters [Book] |url=https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html |url-status=live |access-date=2023-05-06 |website=www.oreilly.com |language=en |archive-date=May 6, 2023 |archive-url=https://web.archive.org/web/20230506100446/https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html }}</ref> that aims to make building [[user interface]]s based on [[component-based software engineering|components]] more "seamless".<ref name="reactjs.org-3" /> It is maintained by [[Meta Platforms|Meta]] (formerly Facebook) and a community of individual developers and companies.<ref>{{cite web |last=Krill |first=Paul |date=May 15, 2014 |title=React: Making faster, smoother UIs for data-driven Web apps |url=https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html |access-date=2021-02-23 |website=[[InfoWorld]] |archive-date=2018-06-12 |archive-url=https://web.archive.org/web/20180612141516/https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html |url-status=live }}</ref><ref>{{cite web |last=Hemel |first=Zef |date=June 3, 2013 |title=Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews |url=https://www.infoq.com/news/2013/06/facebook-react |url-status=live |access-date=2022-01-11 |website=infoq.com |language=en-US |archive-url=https://web.archive.org/web/20220526082114/https://www.infoq.com/news/2013/06/facebook-react/ |archive-date=May 26, 2022}}</ref><ref>{{cite web |last=Dawson |first=Chris |date=July 25, 2014 |title=JavaScript's History and How it Led To ReactJS |url=https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/ |url-status=live |access-date=2020-07-19 |website=The New Stack |language=en-US |archive-url=https://web.archive.org/web/20200806190027/https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/ |archive-date=Aug 6, 2020 }}</ref>
React can be used to develop [[single-page application|single-page]], mobile, or [[server-side rendering|server-rendered]] applications with frameworks like [[Next.js]] and [[Remix (web framework)|Remix]]{{Efn|Merged into [[React Router]] since React Router v7<ref>{{Cite web |last=Lybrand |first=Brooks |date=2024-05-15 |title=Merging Remix and React Router |url=https://remix.run/blog/merging-remix-and-react-router |access-date=2024-12-25 |website=remix.run |language=en}}</ref>}}. Because React is only concerned with the user interface and rendering components to the [[Document Object Model|DOM]], React applications often rely on [[JavaScript libraries|libraries]] for routing and other client-side functionality.{{sfn|Dere|2017}}{{sfn|Panchal|2022}} A key advantage of React is that it only re-renders those parts of the page that have changed, avoiding unnecessary re-rendering of unchanged DOM elements.