CINXE.COM
React (software) - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>React (software) - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"e09b52b7-c486-4ebc-95ea-68bbedee00ca","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"React_(software)","wgTitle":"React (software)","wgCurRevisionId":1276566115,"wgRevisionId":1276566115,"wgArticleId":44926137,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","Articles with short description","Short description matches Wikidata","Articles needing additional references from May 2024","All articles needing additional references","Articles with self-published sources from May 2024","All articles with self-published sources","Articles with multiple maintenance issues","Wikipedia articles in need of updating from June 2018","All Wikipedia articles in need of updating","2015 software", "Ajax (programming)","Facebook software","JavaScript libraries","Software using the MIT license","Web applications"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"React_(software)","wgRelevantArticleId":44926137,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":60000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true, "wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q19399674","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view", "mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="React (software) - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/React_(software)"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=React_(software)&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/React_(software)"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-React_software rootpage-React_software skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=React+%28software%29" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=React+%28software%29" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=React+%28software%29" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=React+%28software%29" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Notable_features" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notable_features"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Notable features</span> </div> </a> <button aria-controls="toc-Notable_features-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Notable features subsection</span> </button> <ul id="toc-Notable_features-sublist" class="vector-toc-list"> <li id="toc-Declarative" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Declarative"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Declarative</span> </div> </a> <ul id="toc-Declarative-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Components" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Components"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Components</span> </div> </a> <ul id="toc-Components-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Function_components" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Function_components"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Function components</span> </div> </a> <ul id="toc-Function_components-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-React_Hooks" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#React_Hooks"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>React Hooks</span> </div> </a> <ul id="toc-React_Hooks-sublist" class="vector-toc-list"> <li id="toc-Rules_of_hooks" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Rules_of_hooks"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4.1</span> <span>Rules of hooks</span> </div> </a> <ul id="toc-Rules_of_hooks-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Server_components" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Server_components"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Server components</span> </div> </a> <ul id="toc-Server_components-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Class_components" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Class_components"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.6</span> <span>Class components</span> </div> </a> <ul id="toc-Class_components-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Routing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Routing"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7</span> <span>Routing</span> </div> </a> <ul id="toc-Routing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Virtual_DOM" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Virtual_DOM"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.8</span> <span>Virtual DOM</span> </div> </a> <ul id="toc-Virtual_DOM-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Updates" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Updates"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Updates</span> </div> </a> <button aria-controls="toc-Updates-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Updates subsection</span> </button> <ul id="toc-Updates-sublist" class="vector-toc-list"> <li id="toc-Lifecycle_methods" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Lifecycle_methods"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Lifecycle methods</span> </div> </a> <ul id="toc-Lifecycle_methods-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-JSX" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#JSX"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>JSX</span> </div> </a> <ul id="toc-JSX-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Architecture_beyond_HTML" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Architecture_beyond_HTML"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Architecture beyond HTML</span> </div> </a> <ul id="toc-Architecture_beyond_HTML-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Server-side_rendering" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Server-side_rendering"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Server-side rendering</span> </div> </a> <ul id="toc-Server-side_rendering-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Common_idioms" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Common_idioms"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Common idioms</span> </div> </a> <button aria-controls="toc-Common_idioms-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Common idioms subsection</span> </button> <ul id="toc-Common_idioms-sublist" class="vector-toc-list"> <li id="toc-Unidirectional_data_flow" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Unidirectional_data_flow"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Unidirectional data flow</span> </div> </a> <ul id="toc-Unidirectional_data_flow-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Future_development" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Future_development"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Future development</span> </div> </a> <ul id="toc-Future_development-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Licensing" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Licensing"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Licensing</span> </div> </a> <ul id="toc-Licensing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Comparison_with_other_frameworks" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Comparison_with_other_frameworks"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Comparison with other frameworks</span> </div> </a> <ul id="toc-Comparison_with_other_frameworks-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliography" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliography"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Bibliography</span> </div> </a> <ul id="toc-Bibliography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">React (software)</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 42 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-42" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">42 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B1%D9%8A%D8%A7%D9%83%D8%AA" title="رياكت – Arabic" lang="ar" hreflang="ar" data-title="رياكت" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/React" title="React – Azerbaijani" lang="az" hreflang="az" data-title="React" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%B0%E0%A6%BF%E0%A6%AF%E0%A6%BC%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%95%E0%A7%8D%E0%A6%9F_(%E0%A6%9C%E0%A6%BE%E0%A6%AD%E0%A6%BE%E0%A6%B8%E0%A7%8D%E0%A6%95%E0%A7%8D%E0%A6%B0%E0%A6%BF%E0%A6%AA%E0%A7%8D%E0%A6%9F_%E0%A6%B2%E0%A6%BE%E0%A6%87%E0%A6%AC%E0%A7%8D%E0%A6%B0%E0%A7%87%E0%A6%B0%E0%A6%BF)" title="রিয়্যাক্ট (জাভাস্ক্রিপ্ট লাইব্রেরি) – Bangla" lang="bn" hreflang="bn" data-title="রিয়্যাক্ট (জাভাস্ক্রিপ্ট লাইব্রেরি)" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/React" title="React – Minnan" lang="nan" hreflang="nan" data-title="React" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/React_(%D1%83%D0%B5%D0%B1_%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D1%83%D1%8A%D1%80%D0%BA)" title="React (уеб фреймуърк) – Bulgarian" lang="bg" hreflang="bg" data-title="React (уеб фреймуърк)" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/ReactJS" title="ReactJS – Catalan" lang="ca" hreflang="ca" data-title="ReactJS" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/React_(webov%C3%BD_framework)" title="React (webový framework) – Czech" lang="cs" hreflang="cs" data-title="React (webový framework)" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/React" title="React – German" lang="de" hreflang="de" data-title="React" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/React_(JavaScripti_raamistik)" title="React (JavaScripti raamistik) – Estonian" lang="et" hreflang="et" data-title="React (JavaScripti raamistik)" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/React" title="React – Spanish" lang="es" hreflang="es" data-title="React" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%E2%80%8C%D8%A7%DA%A9%D8%AA" title="ریاکت – Persian" lang="fa" hreflang="fa" data-title="ریاکت" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/React" title="React – French" lang="fr" hreflang="fr" data-title="React" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%A6%AC%EC%95%A1%ED%8A%B8_(%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC)" title="리액트 (자바스크립트 라이브러리) – Korean" lang="ko" hreflang="ko" data-title="리액트 (자바스크립트 라이브러리)" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/React_(JavaScript_%D5%A3%D6%80%D5%A1%D5%A4%D5%A1%D6%80%D5%A1%D5%B6)" title="React (JavaScript գրադարան) – Armenian" lang="hy" hreflang="hy" data-title="React (JavaScript գրադարան)" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%B0%E0%A4%BF%E0%A4%AF%E0%A5%87%E0%A4%95%E0%A5%8D%E0%A4%9F" title="रियेक्ट – Hindi" lang="hi" hreflang="hi" data-title="रियेक्ट" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/React.js" title="React.js – Indonesian" lang="id" hreflang="id" data-title="React.js" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/React_(web_framework)" title="React (web framework) – Italian" lang="it" hreflang="it" data-title="React (web framework)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/React" title="React – Hebrew" lang="he" hreflang="he" data-title="React" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/React_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D0%BB%D1%8B%D0%BA_%D0%BA%D0%B0%D0%BC%D1%81%D1%8B%D0%B7%D0%B4%D0%BE%D0%BE)" title="React (программалык камсыздоо) – Kyrgyz" lang="ky" hreflang="ky" data-title="React (программалык камсыздоо)" data-language-autonym="Кыргызча" data-language-local-name="Kyrgyz" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/React" title="React – Latvian" lang="lv" hreflang="lv" data-title="React" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%B1%E0%B4%BF%E0%B4%AF%E0%B4%BE%E0%B4%95%E0%B5%8D%E0%B4%9F%E0%B5%8D_(%E0%B4%B5%E0%B5%86%E0%B4%AC%E0%B5%8D_%E0%B4%AB%E0%B5%8D%E0%B4%B0%E0%B5%86%E0%B4%AF%E0%B4%BF%E0%B4%82%E0%B4%B5%E0%B5%BC%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B5%8D)" title="റിയാക്ട് (വെബ് ഫ്രെയിംവർക്ക്) – Malayalam" lang="ml" hreflang="ml" data-title="റിയാക്ട് (വെബ് ഫ്രെയിംവർക്ക്)" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B0%E0%A4%BF%E0%A5%B2%E0%A4%95%E0%A5%8D%E0%A4%9F_(%E0%A4%B8%E0%A5%89%E0%A4%AB%E0%A5%8D%E0%A4%9F%E0%A4%B5%E0%A5%87%E0%A4%B0)" title="रिॲक्ट (सॉफ्टवेर) – Marathi" lang="mr" hreflang="mr" data-title="रिॲक्ट (सॉफ्टवेर)" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/React" title="React – Dutch" lang="nl" hreflang="nl" data-title="React" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/React" title="React – Japanese" lang="ja" hreflang="ja" data-title="React" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/React_(webrammeverk)" title="React (webrammeverk) – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="React (webrammeverk)" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/ReactJS" title="ReactJS – Uzbek" lang="uz" hreflang="uz" data-title="ReactJS" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/React.js" title="React.js – Polish" lang="pl" hreflang="pl" data-title="React.js" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/React_(JavaScript)" title="React (JavaScript) – Portuguese" lang="pt" hreflang="pt" data-title="React (JavaScript)" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-kaa mw-list-item"><a href="https://kaa.wikipedia.org/wiki/React" title="React – Kara-Kalpak" lang="kaa" hreflang="kaa" data-title="React" data-language-autonym="Qaraqalpaqsha" data-language-local-name="Kara-Kalpak" class="interlanguage-link-target"><span>Qaraqalpaqsha</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/React.js" title="React.js – Romanian" lang="ro" hreflang="ro" data-title="React.js" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/React" title="React – Quechua" lang="qu" hreflang="qu" data-title="React" data-language-autonym="Runa Simi" data-language-local-name="Quechua" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/React" title="React – Russian" lang="ru" hreflang="ru" data-title="React" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/React_(webov%C3%BD_framework)" title="React (webový framework) – Slovak" lang="sk" hreflang="sk" data-title="React (webový framework)" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/React" title="React – Serbian" lang="sr" hreflang="sr" data-title="React" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/React" title="React – Finnish" lang="fi" hreflang="fi" data-title="React" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/React.js" title="React.js – Swedish" lang="sv" hreflang="sv" data-title="React.js" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A3%E0%B8%B5%E0%B9%81%E0%B8%AD%E0%B9%87%E0%B8%81%E0%B8%95%E0%B9%8C_(%E0%B8%8B%E0%B8%AD%E0%B8%9F%E0%B8%95%E0%B9%8C%E0%B9%81%E0%B8%A7%E0%B8%A3%E0%B9%8C)" title="รีแอ็กต์ (ซอฟต์แวร์) – Thai" lang="th" hreflang="th" data-title="รีแอ็กต์ (ซอฟต์แวร์)" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/React" title="React – Turkish" lang="tr" hreflang="tr" data-title="React" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/React" title="React – Ukrainian" lang="uk" hreflang="uk" data-title="React" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/React" title="React – Vietnamese" lang="vi" hreflang="vi" data-title="React" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/React_(JavaScript_library)" title="React (JavaScript library) – Cantonese" lang="yue" hreflang="yue" data-title="React (JavaScript library)" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/React" title="React – Chinese" lang="zh" hreflang="zh" data-title="React" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q19399674#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/React_(software)" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:React_(software)" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/React_(software)"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=React_(software)&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=React_(software)&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/React_(software)"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=React_(software)&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=React_(software)&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/React_(software)" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/React_(software)" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=React_(software)&oldid=1276566115" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=React_(software)&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=React_%28software%29&id=1276566115&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FReact_%28software%29"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FReact_%28software%29"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=React_%28software%29&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=React_(software)&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:React_(software)" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q19399674" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For the open-source mobile application framework, see <a href="/wiki/React_Native" title="React Native">React Native</a>.</div> <div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">JavaScript library for building user interfaces</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><style data-mw-deduplicate="TemplateStyles:r1248332772">.mw-parser-output .multiple-issues-text{width:95%;margin:0.2em 0}.mw-parser-output .multiple-issues-text>.mw-collapsible-content{margin-top:0.3em}.mw-parser-output .compact-ambox .ambox{border:none;border-collapse:collapse;background-color:transparent;margin:0 0 0 1.6em!important;padding:0!important;width:auto;display:block}body.mediawiki .mw-parser-output .compact-ambox .ambox.mbox-small-left{font-size:100%;width:auto;margin:0}.mw-parser-output .compact-ambox .ambox .mbox-text{padding:0!important;margin:0!important}.mw-parser-output .compact-ambox .ambox .mbox-text-span{display:list-item;line-height:1.5em;list-style-type:disc}body.skin-minerva .mw-parser-output .multiple-issues-text>.mw-collapsible-toggle,.mw-parser-output .compact-ambox .ambox .mbox-image,.mw-parser-output .compact-ambox .ambox .mbox-imageright,.mw-parser-output .compact-ambox .ambox .mbox-empty-cell,.mw-parser-output .compact-ambox .hide-when-compact{display:none}</style><table class="box-Multiple_issues plainlinks metadata ambox ambox-content ambox-multiple_issues compact-ambox" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span"><div class="multiple-issues-text mw-collapsible"><b>This article has multiple issues.</b> Please help <b><a href="/wiki/Special:EditPage/React_(software)" title="Special:EditPage/React (software)">improve it</a></b> or discuss these issues on the <b><a href="/wiki/Talk:React_(software)" title="Talk:React (software)">talk page</a></b>. <small><i>(<a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove these messages</a>)</i></small> <div class="mw-collapsible-content"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-More_citations_needed plainlinks metadata ambox ambox-content ambox-Refimprove" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/React_(software)" title="Special:EditPage/React (software)">improve this article</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.<br /><small><span class="plainlinks"><i>Find sources:</i> <a rel="nofollow" class="external text" href="https://www.google.com/search?as_eq=wikipedia&q=%22React%22+software">"React" software</a> – <a rel="nofollow" class="external text" href="https://www.google.com/search?tbm=nws&q=%22React%22+software+-wikipedia&tbs=ar:1">news</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?&q=%22React%22+software&tbs=bkt:s&tbm=bks">newspapers</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?tbs=bks:1&q=%22React%22+software+-wikipedia">books</a> <b>·</b> <a rel="nofollow" class="external text" href="https://scholar.google.com/scholar?q=%22React%22+software">scholar</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.jstor.org/action/doBasicSearch?Query=%22React%22+software&acc=on&wc=on">JSTOR</a></span></small></span> <span class="date-container"><i>(<span class="date">May 2024</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-Self-published plainlinks metadata ambox ambox-content ambox-self-published" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>may contain excessive or inappropriate references to <a href="/wiki/Wikipedia:Verifiability#Self-published_sources" title="Wikipedia:Verifiability">self-published sources</a></b>.<span class="hide-when-compact"> Please help <a class="external text" href="https://en.wikipedia.org/w/index.php?title=React_(software)&action=edit">improve it</a> by removing references to unreliable <a href="/wiki/Wikipedia:Reliable_sources" title="Wikipedia:Reliable sources">sources</a> where they are used inappropriately.</span> <span class="date-container"><i>(<span class="date">May 2024</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> </div> </div><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">React</caption><tbody><tr><td colspan="2" class="infobox-image logo"><span typeof="mw:File"><a href="/wiki/File:React_Logo_SVG.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/30/React_Logo_SVG.svg/100px-React_Logo_SVG.svg.png" decoding="async" width="100" height="92" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/30/React_Logo_SVG.svg/150px-React_Logo_SVG.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/30/React_Logo_SVG.svg/200px-React_Logo_SVG.svg.png 2x" data-file-width="512" data-file-height="472" /></a></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Original author(s)</a></th><td class="infobox-data">Jordan Walke</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Meta_Platforms" title="Meta Platforms">Meta</a> and community</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Initial release</th><td class="infobox-data">May 29, 2013<span class="noprint">; 11 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">2013-05-29</span>)</span><sup id="cite_ref-Occhino-2013_1-0" class="reference"><a href="#cite_note-Occhino-2013-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th colspan="2" class="infobox-header"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release(s)</a></th></tr><tr><td colspan="2" class="infobox-full-data"><div style="margin:0px;">19.0.0<sup id="cite_ref-wikidata-c30e93f786fb33e1ab05526ee252ec9ef937f700-v18_3-0" class="reference"><a href="#cite_note-wikidata-c30e93f786fb33e1ab05526ee252ec9ef937f700-v18-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q19399674?uselang=en#P348" title="Edit this on Wikidata"><img alt="Edit this on Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span> / 5 December 2024<span class="noprint">; 2 months ago</span><span style="display:none"> (<span class="bday dtstart published updated">5 December 2024</span>)</span></div></td><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></tr><tr><th colspan="2" class="infobox-header"><a href="/wiki/Software_release_life_cycle#Beta" title="Software release life cycle">Preview release(s)</a></th></tr><tr><td colspan="2" class="infobox-full-data"><div style="margin:0px;">19.0.0-rc.1 / November 14, 2024<span class="noprint">; 3 months ago</span><span style="display:none"> (<span class="bday dtstart published updated">2024-11-14</span>)</span><sup id="cite_ref-customelements_4-0" class="reference"><a href="#cite_note-customelements-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist"><ul><li><span class="url"><a rel="nofollow" class="external text" href="https://github.com/facebook/react">github<wbr />.com<wbr />/facebook<wbr />/react</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q19399674#P1324" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li></ul> </div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="/wiki/Web_platform" title="Web platform">Web platform</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="/wiki/JavaScript_library" title="JavaScript library">JavaScript library</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/MIT_License" title="MIT License">MIT License</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://react.dev/">react<wbr />.dev</a></span> <span class="penicon autoconfirmed-show"><span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q19399674?uselang=en#P856" title="Edit this on Wikidata"><img alt="Edit this on Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></span></td></tr></tbody></table> <p><b>React</b> (also known as <b>React.js</b> or <b>ReactJS</b>) is a <a href="/wiki/Free_and_open-source_software" title="Free and open-source software">free and open-source</a> <a href="/wiki/Frontend_and_backend" title="Frontend and backend">front-end</a> <a href="/wiki/JavaScript_library" title="JavaScript library">JavaScript library</a><sup id="cite_ref-reactjs.org-3_5-0" class="reference"><a href="#cite_note-reactjs.org-3-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> that aims to make building <a href="/wiki/User_interface" title="User interface">user interfaces</a> based on <a href="/wiki/Component-based_software_engineering" title="Component-based software engineering">components</a> more "seamless".<sup id="cite_ref-reactjs.org-3_5-1" class="reference"><a href="#cite_note-reactjs.org-3-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> It is maintained by <a href="/wiki/Meta_Platforms" title="Meta Platforms">Meta</a> (formerly Facebook) and a community of individual developers and companies.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p><p>React can be used to develop <a href="/wiki/Single-page_application" title="Single-page application">single-page</a>, mobile, or <a href="/wiki/Server-side_rendering" class="mw-redirect" title="Server-side rendering">server-rendered</a> applications with frameworks like <a href="/wiki/Next.js" title="Next.js">Next.js</a> and <a href="/wiki/Remix_(web_framework)" title="Remix (web framework)">Remix</a><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup>. Because React is only concerned with the user interface and rendering components to the <a href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a>, React applications often rely on <a href="/wiki/JavaScript_libraries" class="mw-redirect" title="JavaScript libraries">libraries</a> for routing and other client-side functionality.<sup id="cite_ref-FOOTNOTEDere2017_12-0" class="reference"><a href="#cite_note-FOOTNOTEDere2017-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEPanchal2022_13-0" class="reference"><a href="#cite_note-FOOTNOTEPanchal2022-13"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> 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. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Notable_features">Notable features</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=1" title="Edit section: Notable features"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Declarative">Declarative</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=2" title="Edit section: Declarative"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> React adheres to the <a href="/wiki/Declarative_programming" title="Declarative programming">declarative programming</a> <a href="/wiki/Programming_paradigm" title="Programming paradigm">paradigm</a>.<sup id="cite_ref-FOOTNOTEWieruch2020_15-0" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 76">: 76 </span></sup> Developers design views for each state of an application, and React updates and renders components when data changes. This is in contrast with <a href="/wiki/Imperative_programming" title="Imperative programming">imperative programming</a>.<sup id="cite_ref-FOOTNOTESchwarzmüller2018_16-0" class="reference"><a href="#cite_note-FOOTNOTESchwarzmüller2018-16"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Components">Components</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=3" title="Edit section: Components"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>React code is made of entities called <a href="/wiki/Component-based_software_engineering" title="Component-based software engineering">components</a>.<sup id="cite_ref-FOOTNOTEWieruch2020_15-1" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 10–12">: 10–12 </span></sup> These components are modular and reusable.<sup id="cite_ref-FOOTNOTEWieruch2020_15-2" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 70">: 70 </span></sup> React applications typically consist of many layers of components. The components are rendered to a root element in the <a href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a> using the React DOM library. When rendering a component, values are passed between components through <i>props</i> (short for "properties")<i>.</i> Values internal to a component are called its <i>state.</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>The two primary ways of declaring components in React are through function components and class components.<sup id="cite_ref-FOOTNOTEWieruch2020_15-3" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 118">: 118 </span></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-0" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 10">: 10 </span></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Function_components">Function components</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=4" title="Edit section: Function components"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Function components are declared with a function (using JavaScript function syntax or an <a href="/wiki/Anonymous_function" title="Anonymous function">arrow function expression</a>) that accepts a single "props" argument and returns JSX. From React v16.8 onwards, function components can use state with the <code>useState</code> Hook. </p> <div class="mw-heading mw-heading3"><h3 id="React_Hooks">React Hooks</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=5" title="Edit section: React Hooks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>On February 16, 2019, React 16.8 was released to the public, introducing React Hooks.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> Hooks are functions that let developers "hook into" React state and lifecycle features from function components.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> Notably, Hooks do not work inside classes — they let developers use more features of React without classes.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p><p>React provides several built-in hooks such as <code>useState</code>,<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-1" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 37">: 37 </span></sup> <code>useContext</code>,<sup id="cite_ref-FOOTNOTEWieruch2020_15-4" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 11">: 11 </span></sup><sup id="cite_ref-reactjs.org-2_23-0" class="reference"><a href="#cite_note-reactjs.org-2-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-2" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 12">: 12 </span></sup> <code>useReducer</code>,<sup id="cite_ref-FOOTNOTEWieruch2020_15-5" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 92">: 92 </span></sup><sup id="cite_ref-reactjs.org-2_23-1" class="reference"><a href="#cite_note-reactjs.org-2-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-3" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 65–66">: 65–66 </span></sup> <code>useMemo</code><sup id="cite_ref-FOOTNOTEWieruch2020_15-6" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 154">: 154 </span></sup><sup id="cite_ref-reactjs.org-2_23-2" class="reference"><a href="#cite_note-reactjs.org-2-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-4" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 162">: 162 </span></sup> and <code>useEffect</code>.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTELarsen2021_18-5" class="reference"><a href="#cite_note-FOOTNOTELarsen2021-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 93–95">: 93–95 </span></sup> Others are documented in the Hooks API Reference.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEWieruch2020_15-7" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 62">: 62 </span></sup> <code>useState</code> and <code>useEffect</code>, which are the most commonly used, are for controlling state<sup id="cite_ref-FOOTNOTEWieruch2020_15-8" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 37">: 37 </span></sup> and side effects,<sup id="cite_ref-FOOTNOTEWieruch2020_15-9" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 61">: 61 </span></sup> respectively. </p> <div class="mw-heading mw-heading4"><h4 id="Rules_of_hooks">Rules of hooks</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=6" title="Edit section: Rules of hooks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are two rules of hooks<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> which describe the characteristic code patterns that hooks rely on: </p> <ol><li>"Only call hooks at the top level" — do not call hooks from inside loops, conditions, or nested statements so that the hooks are called in the same order each render.</li> <li>"Only call hooks from React functions" — do not call hooks from plain JavaScript functions so that stateful logic stays with the component.</li></ol> <p>Although these rules cannot be enforced at runtime, code analysis tools such as <a href="/wiki/Lint_(software)" title="Lint (software)">linters</a> can be configured to detect many mistakes during development. The rules apply to both usage of Hooks and the implementation of custom Hooks,<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> which may call other Hooks. </p> <div class="mw-heading mw-heading3"><h3 id="Server_components">Server components</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=7" title="Edit section: Server components"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>React server components (RSC) <sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> are function components that run exclusively on the server. The concept was first introduced in the talk "Data Fetching with Server Components".<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Though a similar concept to Server Side Rendering, RSCs do not send corresponding JavaScript to the client as no hydration occurs. As a result, they have no access to hooks. However, they may be <a href="/wiki/Async/await" title="Async/await">asynchronous function</a>, allowing them to directly perform asynchronous operations: </p> <div class="mw-highlight mw-highlight-lang-jsx mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="k">async</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">MyComponent</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="2"></span><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">fetchMessageFromDb</span><span class="p">();</span> <span class="linenos" data-line="3"></span> <span class="linenos" data-line="4"></span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">(</span> <span class="linenos" data-line="5"></span><span class="w"> </span><span class="p"><</span><span class="nt">div</span><span class="p">></span><span class="nx">Message</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="nx">message</span><span class="p">}</</span><span class="nt">div</span><span class="p">></span> <span class="linenos" data-line="6"></span><span class="w"> </span><span class="p">);</span> <span class="linenos" data-line="7"></span><span class="p">}</span> </pre></div> <p>Currently, server components are most readily usable with <a href="/wiki/Next.js" title="Next.js">Next.js</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Class_components">Class components</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=8" title="Edit section: Class components"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Class components are declared using <a href="/wiki/ECMAScript" title="ECMAScript">ES6</a> classes. They behave the same way that function components do, but instead of using Hooks to manage state and lifecycle events, they use the lifecycle methods on the <code>React.Component</code> <a href="/wiki/Inheritance_(object-oriented_programming)" title="Inheritance (object-oriented programming)">base class</a>. </p> <div class="mw-highlight mw-highlight-lang-jsx mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kd">class</span><span class="w"> </span><span class="nx">ParentComponent</span><span class="w"> </span><span class="k">extends</span><span class="w"> </span><span class="nx">React</span><span class="p">.</span><span class="nx">Component</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="2"></span><span class="w"> </span><span class="nx">state</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">color</span><span class="o">:</span><span class="w"> </span><span class="s1">'green'</span><span class="w"> </span><span class="p">};</span> <span class="linenos" data-line="3"></span><span class="w"> </span><span class="nx">render</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="4"></span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">(</span> <span class="linenos" data-line="5"></span><span class="w"> </span><span class="p"><</span><span class="nt">ChildComponent</span><span class="w"> </span><span class="na">color</span><span class="o">=</span><span class="p">{</span><span class="k">this</span><span class="p">.</span><span class="nx">state</span><span class="p">.</span><span class="nx">color</span><span class="p">}</span><span class="w"> </span><span class="p">/></span> <span class="linenos" data-line="6"></span><span class="w"> </span><span class="p">);</span> <span class="linenos" data-line="7"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="8"></span><span class="p">}</span> </pre></div><p>The introduction of React Hooks with React 16.8 in February 2019 allowed developers to manage state and lifecycle behaviors within functional components, reducing the reliance on class components. </p><p>This trend aligns with the broader industry movement towards functional programming and modular design. As React continues to evolve, it is essential for developers to consider the benefits of functional components and React Hooks when building new applications or refactoring existing ones.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Routing">Routing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=9" title="Edit section: Routing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>React itself does not come with built-in support for <a href="/wiki/Routing" title="Routing">routing</a>. React is primarily a library for building user interfaces, and it does not include a full-fledged routing solution out of the box. Third-party libraries can be used to handle routing in React applications.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> It allows the developer to define routes, manage navigation, and handle URL changes in a React-friendly way. </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:VirtualDOM_with_respect_to_realDOM.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5a/VirtualDOM_with_respect_to_realDOM.png/220px-VirtualDOM_with_respect_to_realDOM.png" decoding="async" width="220" height="93" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5a/VirtualDOM_with_respect_to_realDOM.png/330px-VirtualDOM_with_respect_to_realDOM.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5a/VirtualDOM_with_respect_to_realDOM.png/440px-VirtualDOM_with_respect_to_realDOM.png 2x" data-file-width="1047" data-file-height="442" /></a><figcaption>There is a Virtual DOM that is used to implement the real DOM</figcaption></figure> <div class="mw-heading mw-heading3"><h3 id="Virtual_DOM">Virtual DOM</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=10" title="Edit section: Virtual DOM"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Another notable feature is the use of a virtual <a href="/wiki/Document_Object_Model" title="Document Object Model">Document Object Model</a>, or <a href="/wiki/Virtual_DOM" title="Virtual DOM">Virtual DOM</a>. React creates an <a href="/wiki/In-memory_processing" title="In-memory processing">in-memory</a> data-structure cache, computes the resulting differences, and then updates the browser's displayed DOM efficiently.<sup id="cite_ref-React_Blog_32-0" class="reference"><a href="#cite_note-React_Blog-32"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> This process is called <b>reconciliation</b>. This allows the programmer to write code as if the entire page is rendered on each change, while React only renders the components that actually change. This selective rendering provides a major performance boost.<sup id="cite_ref-Codecademy_33-0" class="reference"><a href="#cite_note-Codecademy-33"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Aggarwal_34-0" class="reference"><a href="#cite_note-Aggarwal-34"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Updates">Updates</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=11" title="Edit section: Updates"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>When <code>ReactDOM.render</code><sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> is called again for the same component and target, React represents the new UI state in the Virtual DOM and determines which parts (if any) of the living DOM needs to change.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:React-example-virtual-dom-diff.svg" class="mw-file-description"><img alt="Updates to realDOM are subject to virtualDOM" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/42/React-example-virtual-dom-diff.svg/220px-React-example-virtual-dom-diff.svg.png" decoding="async" width="220" height="57" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/42/React-example-virtual-dom-diff.svg/330px-React-example-virtual-dom-diff.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/42/React-example-virtual-dom-diff.svg/440px-React-example-virtual-dom-diff.svg.png 2x" data-file-width="512" data-file-height="133" /></a><figcaption>The virtualDOM will update the realDOM in real-time effortlessly</figcaption></figure> <div class="mw-heading mw-heading3"><h3 id="Lifecycle_methods">Lifecycle methods</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=12" title="Edit section: Lifecycle methods"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Lifecycle methods for class-based components use a form of <a href="/wiki/Hooking" title="Hooking">hooking</a> that allows the execution of code at set points during a component's lifetime. </p> <ul><li><code>ShouldComponentUpdate</code> allows the developer to prevent unnecessary re-rendering of a component by returning false if a render is not required.</li> <li><code>componentDidMount</code> is called once the component has "mounted" (the component has been created in the user interface, often by associating it with a <a href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a> node). This is commonly used to trigger data loading from a remote source via an <a href="/wiki/API" title="API">API</a>.</li> <li><code>componentDidUpdate</code> is invoked immediately after updating occurs.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup></li> <li><code>componentWillUnmount</code> is called immediately before the component is torn down or "unmounted". This is commonly used to clear resource-demanding dependencies to the component that will not simply be removed with the unmounting of the component (e.g., removing any <code>setInterval()</code> instances that are related to the component, or an "<a href="/wiki/Event_(computing)" title="Event (computing)">eventListener</a>" set on the "document" because of the presence of the component)</li> <li><code>render</code> is the most important lifecycle method and the only required one in any component. It is usually called every time the component's state is updated, which should be reflected in the user interface.</li></ul> <div class="mw-heading mw-heading3"><h3 id="JSX">JSX</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=13" title="Edit section: JSX"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/JSX_(JavaScript)" title="JSX (JavaScript)">JSX</a></div> <p><a href="/wiki/JSX_(JavaScript)" title="JSX (JavaScript)">JSX</a>, or JavaScript XML, is an extension to the JavaScript language syntax.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> Similar in appearance to HTML,<sup id="cite_ref-FOOTNOTEWieruch2020_15-10" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 11">: 11 </span></sup> JSX provides a way to structure component rendering using syntax familiar<sup id="cite_ref-FOOTNOTEWieruch2020_15-11" class="reference"><a href="#cite_note-FOOTNOTEWieruch2020-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 15">: 15 </span></sup> to many developers. React components are typically written using JSX, although they do not have to be (components may also be written in pure JavaScript). JSX is similar to another extension syntax created by Facebook for <a href="/wiki/PHP" title="PHP">PHP</a> called <a href="/wiki/XHP" title="XHP">XHP</a>. </p><p>An example of JSX code: </p> <div class="mw-highlight mw-highlight-lang-jsx mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">class</span><span class="w"> </span><span class="nx">App</span><span class="w"> </span><span class="k">extends</span><span class="w"> </span><span class="nx">React</span><span class="p">.</span><span class="nx">Component</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">render</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">(</span> <span class="w"> </span><span class="p"><</span><span class="nt">div</span><span class="p">></span> <span class="w"> </span><span class="p"><</span><span class="nt">p</span><span class="p">></span><span class="nx">Header</span><span class="p"></</span><span class="nt">p</span><span class="p">></span> <span class="w"> </span><span class="p"><</span><span class="nt">p</span><span class="p">></span><span class="nx">Content</span><span class="p"></</span><span class="nt">p</span><span class="p">></span> <span class="w"> </span><span class="p"><</span><span class="nt">p</span><span class="p">></span><span class="nx">Footer</span><span class="p"></</span><span class="nt">p</span><span class="p">></span> <span class="w"> </span><span class="p"></</span><span class="nt">div</span><span class="p">></span> <span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Architecture_beyond_HTML">Architecture beyond HTML</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=14" title="Edit section: Architecture beyond HTML"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The basic <a href="/wiki/Software_architecture" title="Software architecture">architecture</a> of React applies beyond rendering HTML in the browser. For example, Facebook has dynamic charts that render to <code><canvas></code> tags,<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> and Netflix and <a href="/wiki/PayPal" title="PayPal">PayPal</a> use universal loading to render identical HTML on both the server and client.<sup id="cite_ref-medium.com-2015_40-0" class="reference"><a href="#cite_note-medium.com-2015-40"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-netflixtechblog.com-2015_41-0" class="reference"><a href="#cite_note-netflixtechblog.com-2015-41"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Server-side_rendering">Server-side rendering</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=15" title="Edit section: Server-side rendering"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-Unreferenced_section plainlinks metadata ambox ambox-content ambox-Unreferenced" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This section <b>does not <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">cite</a> any <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">sources</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/React_(software)" title="Special:EditPage/React (software)">improve this section</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and <a href="/wiki/Wikipedia:Verifiability#Burden_of_evidence" title="Wikipedia:Verifiability">removed</a>.</span> <span class="date-container"><i>(<span class="date">May 2024</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <p><a href="/wiki/Server-side_scripting" title="Server-side scripting">Server-side rendering</a> (SSR) refers to the process of rendering a client-side JavaScript application on the server, rather than in the browser. This can improve the performance of the application, especially for users on slower connections or devices. </p><p>With SSR, the initial HTML that is sent to the client includes the fully rendered UI of the application. This allows the client's browser to display the UI immediately, rather than having to wait for the JavaScript to download and execute before rendering the UI. </p><p>React supports SSR, which allows developers to render React components on the server and send the resulting HTML to the client. This can be useful for improving the performance of the application, as well as for <a href="/wiki/Search_engine_optimization" title="Search engine optimization">search engine optimization</a> purposes. </p> <div class="mw-heading mw-heading2"><h2 id="Common_idioms">Common idioms</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=16" title="Edit section: Common idioms"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>React does not attempt to provide a complete application library. It is designed specifically for building user interfaces<sup id="cite_ref-reactjs.org-3_5-2" class="reference"><a href="#cite_note-reactjs.org-3-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> and therefore does not include many of the tools some developers might consider necessary to build an application. This allows the choice of whichever libraries the developer prefers to accomplish tasks such as performing network access or local data storage. Common patterns of usage have emerged as the library matures. </p> <div class="mw-heading mw-heading3"><h3 id="Unidirectional_data_flow">Unidirectional data flow</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=17" title="Edit section: Unidirectional data flow"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To support React's concept of unidirectional data flow (which might be contrasted with <a href="/wiki/AngularJS" title="AngularJS">AngularJS</a>'s bidirectional flow), the Flux architecture was developed as an alternative to the popular <a href="/wiki/Model%E2%80%93view%E2%80%93controller" title="Model–view–controller">model–view–controller</a> architecture. Flux features <i>actions</i> which are sent through a central <i>dispatcher</i> to a <i>store</i>, and changes to the store are propagated back to the view.<sup id="cite_ref-Flux_42-0" class="reference"><a href="#cite_note-Flux-42"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup> When used with React, this propagation is accomplished through component properties. Since its conception, Flux has been superseded by libraries such as <a href="/wiki/Redux_(JavaScript_library)" title="Redux (JavaScript library)">Redux</a> and MobX.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> </p><p>Flux can be considered a variant of the <a href="/wiki/Observer_pattern" title="Observer pattern">observer pattern</a>.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> </p><p>A React component under the Flux architecture should not directly modify any props passed to it, but should be passed <a href="/wiki/Callback_function" class="mw-redirect" title="Callback function">callback functions</a> that create <i>actions</i> which are sent by the dispatcher to modify the store. The action is an object whose responsibility is to describe what has taken place: for example, an action describing one user "following" another might contain a user id, a target user id, and the type <code>USER_FOLLOWED_ANOTHER_USER</code>.<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> The stores, which can be thought of as models, can alter themselves in response to actions received from the dispatcher. </p><p>This pattern is sometimes expressed as "properties flow down, actions flow up". Many implementations of Flux have been created since its inception, perhaps the most well-known being <a href="/wiki/Redux_(JavaScript_library)" title="Redux (JavaScript library)">Redux</a>, which features a single store, often called a <a href="/wiki/Single_source_of_truth" title="Single source of truth">single source of truth</a>.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> </p><p>In February 2019, <code>useReducer</code> was introduced as a <a href="/wiki/React_(web_framework)#React_Hooks" class="mw-redirect" title="React (web framework)">React hook</a> in the 16.8 release. It provides an API that is consistent with Redux, enabling developers to create Redux-like stores that are local to component states.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Future_development">Future development</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=18" title="Edit section: Future development"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Project status can be tracked via the core team discussion forum.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup> However, major changes to React go through the Future of React repository issues and <a href="/wiki/Pull_request" class="mw-redirect" title="Pull request">pull requests</a>.<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> This enables the React community to provide feedback on new potential features, experimental APIs and JavaScript syntax improvements. </p> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=19" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>React was created by Jordan Walke, a software engineer at <a href="/wiki/Meta_Platforms" title="Meta Platforms">Meta</a>, who initially developed a prototype called "F-Bolt"<sup id="cite_ref-Youtube-2023_51-0" class="reference"><a href="#cite_note-Youtube-2023-51"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup> before later renaming it to "FaxJS". This early version is documented in Jordan Walke's GitHub repository.<sup class="plainlinks nourlexpansion citation" id="ref_Walke,_Jordan."><a class="external autonumber" href="https://en.wikipedia.org/wiki/React_(software)#endnote_Walke,_Jordan._%22FaxJS.%22_GitHub._https://github.com/jordwalke/FaxJs._Accessed_11_July_2019.">[1]</a></sup> Influences for the project included <a href="/wiki/XHP" title="XHP">XHP</a>, an <a href="/wiki/HTML" title="HTML">HTML</a> component library for <a href="/wiki/PHP" title="PHP">PHP</a>. </p><p>React was first deployed on Facebook's <a href="/wiki/News_Feed" class="mw-redirect" title="News Feed">News Feed</a> in 2011 and subsequently integrated into <a href="/wiki/Instagram" title="Instagram">Instagram</a> in 2012.<sup id="cite_ref-Lopez_52-0" class="reference"><a href="#cite_note-Lopez-52"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup> In May 2013, at JSConf US, the project was officially open-sourced, marking a significant turning point in its adoption and growth.<sup class="plainlinks nourlexpansion citation" id="ref_Hámori,_Emergent."><a class="external autonumber" href="https://en.wikipedia.org/wiki/React_(software)#endnote_Hámori,_Emergent._%22React_–_The_Pragmatic_Guide.%22_2022.">[2]</a></sup> </p><p><a href="/wiki/React_Native" title="React Native">React Native</a>, which enables native <a href="/wiki/Android_(operating_system)" title="Android (operating system)">Android</a>, <a href="/wiki/IOS" title="IOS">iOS</a>, and <a href="/wiki/Universal_Windows_Platform" title="Universal Windows Platform">UWP</a> development with React, was announced at Facebook's React Conf in February 2015 and open-sourced in March 2015. </p><p>On April 18, 2017, Facebook announced React Fiber, a new set of internal algorithms for rendering, as opposed to React's old rendering algorithm, Stack.<sup id="cite_ref-FOOTNOTELardinois2017_53-0" class="reference"><a href="#cite_note-FOOTNOTELardinois2017-53"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup> React Fiber was to become the foundation of any future improvements and feature development of the React library.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup><sup class="noprint Inline-Template" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Manual_of_Style/Dates_and_numbers#Chronological_items" title="Wikipedia:Manual of Style/Dates and numbers"><span title="Last commit was in 2016. Is this statement still true? (June 2018)">needs update</span></a></i>]</sup> The actual syntax for programming with React does not change; only the way that the syntax is executed has changed.<sup id="cite_ref-TechCrunch-2017_55-0" class="reference"><a href="#cite_note-TechCrunch-2017-55"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup> React's old rendering system, Stack, was developed at a time when the focus of the system on dynamic change was not understood. Stack was slow to draw complex animation, for example, trying to accomplish all of it in one chunk. Fiber breaks down animation into segments that can be spread out over multiple frames. Likewise, the structure of a page can be broken into segments that may be maintained and updated separately. JavaScript functions and virtual <a href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a> objects are called "fibers", and each can be operated and updated separately, allowing for smoother on-screen rendering.<sup id="cite_ref-github.com_56-0" class="reference"><a href="#cite_note-github.com-56"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup> </p><p>On September 26, 2017, React 16.0 was released to the public.<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup> </p><p>On October 20, 2020, the React team released React v17.0, notable as the first major release without major changes to the React developer-facing API.<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> </p><p>On March 29, 2022, React 18 was released which introduced a new concurrent renderer, automatic batching and support for server side rendering with Suspense.<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup> </p><p>On December 5, 2024, React 19 was released. This release introduced Actions, which simplify the process of making state updates using asynchronous functions rather than having to manually handle pending states, errors and optimistic updates. React 19 also included support for server components and improved static site generation.<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> </p> <table class="wikitable mw-collapsible mw-collapsed"> <caption class="nowrap">Version history of react </caption> <tbody><tr> <th>Version </th> <th width="150px">Release Date </th> <th>Changes </th></tr> <tr> <td>0.3.0 </td> <td>29 May 2013 </td> <td>Initial Public Release </td></tr> <tr> <td>0.4.0 </td> <td>20 July 2013 </td> <td>Support for comment nodes <code class="nowrap" style=""><div>{/* */}</div></code>, Improved server-side rendering APIs, Removed React.autoBind, Support for the key prop, Improvements to forms, Fixed bugs. </td></tr> <tr> <td>0.5.0 </td> <td>20 October 2013 </td> <td>Improve Memory usage, Support for Selection and Composition events, Support for getInitialState and getDefaultProps in mixins, Added React.version and React.isValidClass, Improved compatibility for Windows. </td></tr> <tr> <td>0.8.0 </td> <td>20 December 2013 </td> <td>Added support for rows & cols, defer & async, loop for <code class="nowrap" style=""><audio></code> & <code class="nowrap" style=""><video></code>, autoCorrect attributes. Added onContextMenu events, Upgraded jstransform and esprima-fb tools, Upgraded browserify. </td></tr> <tr> <td>0.9.0 </td> <td>20 February 2014 </td> <td>Added support for crossOrigin, download and hrefLang, mediaGroup and muted, sandbox, seamless, and srcDoc, scope attributes, Added any, arrayOf, component, oneOfType, renderable, shape to React.PropTypes, Added support for onMouseOver and onMouseOut event, Added support for onLoad and onError on <code class="nowrap" style=""><img></code> elements. </td></tr> <tr> <td>0.10.0 </td> <td>21 March 2014 </td> <td>Added support for srcSet and textAnchor attributes, add update function for immutable data, Ensure all void elements do not insert a closing tag. </td></tr> <tr> <td>0.11.0 </td> <td>17 July 2014 </td> <td>Improved SVG support, Normalized e.view event, Update $apply command, Added support for namespaces, Added new transformWithDetails API, includes pre-built packages under dist/, MyComponent() now returns a descriptor, not an instance. </td></tr> <tr> <td>0.12.0 </td> <td>21 November 2014 </td> <td>Added new features Spread operator ({...}) introduced to deprecate this.transferPropsTo, Added support for acceptCharset, classID, manifest HTML attributes, React.addons.batchedUpdates added to API, @jsx React.DOM no longer required, Fixed issues with CSS Transitions. </td></tr> <tr> <td>0.13.0 </td> <td>10 March 2015 </td> <td>Deprecated patterns that warned in 0.12 no longer work, ref resolution order has changed, Removed properties this._pendingState and this._rootNodeID, Support ES6 classes, Added API React.findDOMNode(component), Support for iterators and immutable-js sequences, Added new features React.addons.createFragment, deprecated React.addons.classSet. </td></tr> <tr> <td>15.0.0 </td> <td>7 April 2016 </td> <td>Initial render now uses document.createElement instead of generating HTML, No more extra <code class="nowrap" style=""><span></code>s, Improved SVG support, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ReactPerf.getLastMeasurements()</code> is opaque, New deprecations introduced with a warning, Fixed multiple small memory leaks, React DOM now supports the cite and profile HTML attributes and cssFloat, gridRow and gridColumn CSS properties. </td></tr> <tr> <td>15.1.0 </td> <td>20 May 2016 </td> <td>Fix a batching bug, Ensure use of the latest object-assign, Fix regression, Remove use of merge utility, Renamed some modules. </td></tr> <tr> <td>15.2.0 </td> <td>1 July 2016 </td> <td>Include component stack information, Stop validating props at mount time, Add React.PropTypes.symbol, Add onLoad handling to <code class="nowrap" style=""><link></code> and onError handling to <code class="nowrap" style=""><source></code> element, Add <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">isRunning()</code> API, Fix performance regression. </td></tr> <tr> <td>15.3.0 </td> <td>30 July 2016 </td> <td>Add React.PureComponent, Fix issue with nested server rendering, Add xmlns, xmlnsXlink to support SVG attributes and referrerPolicy to HTML attributes, updates React Perf Add-on, Fixed issue with ref. </td></tr> <tr> <td>15.4.0 </td> <td>16 November 2016 </td> <td>React package and browser build no longer includes React DOM, Improved development performance, Fixed occasional test failures, update batchedUpdates API, React Perf, and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ReactTestRenderer.create()</code>. </td></tr> <tr> <td>15.5.0 </td> <td>7 April 2017 </td> <td>Added react-dom/test-utils, Removed peerDependencies, Fixed issue with Closure Compiler, Added a deprecation warning for React.createClass and React.PropTypes, Fixed Chrome bug. </td></tr> <tr> <td>15.6.0 </td> <td>13 June 2017 </td> <td>Add support for CSS variables in style attribute and Grid style properties, Fix AMD support for addons depending on react, Remove unnecessary dependency, Add a deprecation warning for React.createClass and React.DOM factory helpers. </td></tr> <tr> <td>16.0.0 </td> <td>26 September 2017 </td> <td>Improved error handling with introduction of "error boundaries", React DOM allows passing non-standard attributes, Minor changes to setState behavior, remove react-with-addons.js build, Add React.createClass as create-react-class, React.PropTypes as prop-types, React.DOM as react-dom-factories, changes to the behavior of scheduling and lifecycle methods. </td></tr> <tr> <td>16.1.0 </td> <td>9 November 2017 </td> <td>Discontinuing Bower Releases, Fix an accidental extra global variable in the UMD builds, Fix onMouseEnter and onMouseLeave firing, Fix <textarea> placeholder, Remove unused code, Add a missing package.json dependency, Add support for React DevTools. </td></tr> <tr> <td>16.3.0 </td> <td>29 March 2018 </td> <td>Add a new officially supported context API, Add new packagePrevent an infinite loop when attempting to render portals with SSR, Fix an issue with this.state, Fix an IE/Edge issue. </td></tr> <tr> <td>16.4.0 </td> <td>24 May 2018 </td> <td>Add support for Pointer Events specification, Add the ability to specify propTypes, Fix reading context, Fix the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">getDerivedStateFromProps()</code> support, Fix a testInstance.parent crash, Add React.unstable_Profiler component for measuring performance, Change internal event names. </td></tr> <tr> <td>16.5.0 </td> <td>5 September 2018 </td> <td>Add support for React DevTools Profiler, Handle errors in more edge cases gracefully, Add react-dom/profiling, Add onAuxClick event for browsers, Add movementX and movementY fields to mouse events, Add tangentialPressure and twist fields to pointer event. </td></tr> <tr> <td>16.6.0 </td> <td>23 October 2018 </td> <td>Add support for contextType, Support priority levels, continuations, and wrapped callbacks, Improve the fallback mechanism, Fix gray overlay on iOS Safari, Add <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">React.lazy()</code> for code splitting components. </td></tr> <tr> <td>16.7.0 </td> <td>20 December 2018 </td> <td>Fix performance of React.lazy for lazily-loaded components, Clear fields on unmount to avoid memory leaks, Fix bug with SSR, Fix a performance regression. </td></tr> <tr> <td>16.8.0 </td> <td>6 February 2019 </td> <td>Add Hooks, Add <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ReactTestRenderer.act()</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ReactTestUtils.act()</code> for batching updates, Support synchronous thenables passed to React.lazy(), Improve useReducer Hook lazy initialization API. </td></tr> <tr> <td>16.9.0 </td> <td>9 August 2019 </td> <td>Add <style data-mw-deduplicate="TemplateStyles:r886049734">.mw-parser-output .monospaced{font-family:monospace,monospace}</style><span class="monospaced">React.Profiler</span> API for gathering performance measurements programmatically. Remove unstable_ConcurrentMode in favor of unstable_createRoot </td></tr> <tr> <td>16.10.0 </td> <td>27 September 2019 </td> <td>Fix edge case where a hook update was not being memoized. Fix heuristic for determining when to hydrate, so we do not incorrectly hydrate during an update. Clear additional fiber fields during unmount to save memory. Fix bug with required text fields in Firefox. Prefer Object.is instead of inline polyfill, when available. Fix bug when mixing Suspense and error handling. </td></tr> <tr> <td>16.11.0 </td> <td>22 October 2019 </td> <td>Fix mouseenter handlers from firing twice inside nested React containers. Remove unstable_createRoot and unstable_createSyncRoot experimental APIs. (These are available in the Experimental channel as createRoot and createSyncRoot.) </td></tr> <tr> <td>16.12.0 </td> <td>14 November 2019 </td> <td>React DOM – Fix passive effects (<code>useEffect</code>) not being fired in a multi-root app. React Is – Fix <code>lazy</code> and <code>memo</code> types considered elements instead of components </td></tr> <tr> <td>16.13.0 </td> <td>26 February 2020 </td> <td>Features added in React Concurrent mode. Fix regressions in React core library and React Dom. </td></tr> <tr> <td>16.14.0 </td> <td>14 October 2020 </td> <td>Add support for the new JSX transform. </td></tr> <tr> <td>17.0.0 </td> <td>20 October 2020 </td> <td>"No New Features" enables gradual React updates from older versions. Add new JSX Transform, Changes to Event Delegation </td></tr> <tr> <td>18.0.0 </td> <td>29 March 2022 </td> <td>Concurrent React, Automatic batching, New Suspense Features, Transitions, Client and Server Rendering APIs, New Strict Mode Behaviors, New Hooks <sup id="cite_ref-reactjs.org_61-0" class="reference"><a href="#cite_note-reactjs.org-61"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup> </td></tr> <tr> <td>18.1.0 </td> <td>26 April 2022 </td> <td>Many fixes and performance improvements </td></tr> <tr> <td>18.2.0 </td> <td>14 June 2022 </td> <td>Many more fixes and performance improvements </td></tr> <tr> <td>18.3.0 </td> <td>25 April 2024 </td> <td>Adds deprecation warnings for features in React 19. </td></tr> <tr> <td>19.0.0 </td> <td>5 December 2024 </td> <td>Actions, new hooks (useActionState, useFormStatus, useOptimistic), use API, Server Components, Server Actions, passing ref as a normal prop, improved hydration diffs, improved Context API, cleanup functions for refs, improved useDeferredValue API, support for document metadata, support for stylesheets, support for async scripts, support for preloading resources, improved error reporting, and support for custom elements. </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Licensing">Licensing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=20" title="Edit section: Licensing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div><p> The initial public release of React in May 2013 used the <a href="/wiki/Apache_License_2.0" class="mw-redirect" title="Apache License 2.0">Apache License 2.0</a>. In October 2014, React 0.12.00 replaced this with the <a href="/wiki/BSD_licenses#3-clause" title="BSD licenses">3-clause BSD license</a> and added a separate PATENTS text file that permits usage of any Facebook patents related to the software:<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup></p><blockquote><p>The license granted hereunder will terminate, automatically and without notice, for anyone that makes any claim (including by filing any lawsuit, assertion or other action) alleging (a) direct, indirect, or contributory infringement or inducement to infringe any patent: (i) by Facebook or any of its subsidiaries or affiliates, whether or not such claim is related to the Software, (ii) by any party if such claim arises in whole or in part from any software, product or service of Facebook or any of its subsidiaries or affiliates, whether or not such claim is related to the Software, or (iii) by any party relating to the Software; or (b) that any right in any patent claim of Facebook is invalid or unenforceable.</p></blockquote><p>This unconventional clause caused some controversy and debate in the React user community, because it could be interpreted to empower Facebook to revoke the license in many scenarios, for example, if Facebook sues the licensee prompting them to take "other action" by publishing the action on a blog or elsewhere. Many expressed concerns that Facebook could unfairly exploit the termination clause or that integrating React into a product might complicate a startup company's future acquisition.<sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup> </p><p>Based on community feedback, Facebook updated the patent grant in April 2015 to be less ambiguous and more permissive:<sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> </p> <blockquote><p>The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software. [...] A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim.<sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup></p></blockquote> <p>The <a href="/wiki/Apache_Software_Foundation" class="mw-redirect" title="Apache Software Foundation">Apache Software Foundation</a> considered this licensing arrangement to be incompatible with its licensing policies, as it "passes along risk to downstream consumers of our software imbalanced in favor of the licensor, not the licensee, thereby violating our Apache legal policy of being a universal donor", and "are not a subset of those found in the [Apache License 2.0], and they cannot be sublicensed as [Apache License 2.0]".<sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup> In August 2017, Facebook dismissed the Apache Foundation's downstream concerns and refused to reconsider their license.<sup id="cite_ref-67" class="reference"><a href="#cite_note-67"><span class="cite-bracket">[</span>66<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup> The following month, <a href="/wiki/WordPress" title="WordPress">WordPress</a> decided to switch its Gutenberg and Calypso projects away from React.<sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">[</span>68<span class="cite-bracket">]</span></a></sup> </p><p>On September 23, 2017, Facebook announced that the following week, it would re-license Flow, Jest, React, and Immutable.js under a standard <a href="/wiki/MIT_License" title="MIT License">MIT License</a>; the company stated that React was "the foundation of a broad ecosystem of open source software for the web", and that they did not want to "hold back forward progress for nontechnical reasons".<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">[</span>69<span class="cite-bracket">]</span></a></sup> </p><p>On September 26, 2017, React 16.0.0 was released with the MIT license.<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">[</span>70<span class="cite-bracket">]</span></a></sup> The MIT license change has also been backported to the 15.x release line with React 15.6.2.<sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">[</span>71<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Comparison_with_other_frameworks">Comparison with other frameworks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=21" title="Edit section: Comparison with other frameworks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>JavaScript-based web application frameworks, such as React, provide extensive capabilities but come with associated trade-offs. These frameworks often extend or enhance features available through native web technologies, such as routing, component-based development, and state management. While native web standards, including Web Components, modern JavaScript APIs like Fetch and ES Modules, and browser capabilities like Shadow DOM, have advanced significantly, frameworks remain widely used for their ability to enhance developer productivity, offer structured patterns for large-scale applications, simplify handling edge cases, and provide tools for performance optimization. <sup id="cite_ref-:02_73-0" class="reference"><a href="#cite_note-:02-73"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:12_74-0" class="reference"><a href="#cite_note-:12-74"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:22_75-0" class="reference"><a href="#cite_note-:22-75"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup> </p><p>Frameworks can introduce abstraction layers that may contribute to performance overhead, larger bundle sizes, and increased complexity. Modern frameworks, such as React 18, address these challenges with features like concurrent rendering, tree-shaking, and selective hydration. While these advancements improve rendering efficiency and resource management, their benefits depend on the specific application and implementation context. Lightweight frameworks, such as Svelte and Preact, take different architectural approaches, with Svelte eliminating the virtual DOM entirely in favor of compiling components to efficient JavaScript code, and Preact offering a minimal, compatible alternative to React. Framework choice depends on an application’s requirements, including the team’s expertise, performance goals, and development priorities. <sup id="cite_ref-:02_73-1" class="reference"><a href="#cite_note-:02-73"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:12_74-1" class="reference"><a href="#cite_note-:12-74"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:22_75-1" class="reference"><a href="#cite_note-:22-75"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup> </p><p>A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. <sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">[</span>75<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">[</span>76<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">[</span>77<span class="cite-bracket">]</span></a></sup> These solutions emphasize <a href="/wiki/Progressive_enhancement" title="Progressive enhancement">progressive enhancement</a>, <a href="/wiki/Server-side_rendering" class="mw-redirect" title="Server-side rendering">server-side rendering</a>, and optimizing performance. Astro renders static HTML by default while hydrating only interactive parts. Fresh focuses on server-side rendering with zero runtime overhead. Enhance.dev prioritizes progressive enhancement patterns using Web Components. While these tools reduce reliance on client-side JavaScript by shifting logic to build-time or server-side execution, they still use JavaScript where necessary for interactivity. This approach makes them particularly suitable for performance-critical and content-focused applications. <sup id="cite_ref-:02_73-2" class="reference"><a href="#cite_note-:02-73"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:12_74-2" class="reference"><a href="#cite_note-:12-74"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:22_75-2" class="reference"><a href="#cite_note-:22-75"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=22" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1266661725">.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}</style><ul role="navigation" aria-label="Portals" class="noprint portalbox portalborder portalright"> <li class="portalbox-entry"><span class="portalbox-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/28px-Free_and_open-source_software_logo_%282009%29.svg.png" decoding="async" width="28" height="28" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/42px-Free_and_open-source_software_logo_%282009%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/56px-Free_and_open-source_software_logo_%282009%29.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></span><span class="portalbox-link"><a href="/wiki/Portal:Free_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></span></li></ul> <ul><li><a href="/wiki/Angular_(web_framework)" title="Angular (web framework)">Angular (web framework)</a></li> <li><a href="/wiki/Backbone.js" title="Backbone.js">Backbone.js</a></li> <li><a href="/wiki/Ember.js" title="Ember.js">Ember.js</a></li> <li><a href="/wiki/Gatsby_(JavaScript_framework)" class="mw-redirect" title="Gatsby (JavaScript framework)">Gatsby (JavaScript framework)</a></li> <li><a href="/wiki/Next.js" title="Next.js">Next.js</a></li> <li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li> <li><a href="/wiki/Svelte" title="Svelte">Svelte</a></li> <li><a href="/wiki/Vue.js" title="Vue.js">Vue.js</a></li> <li><a href="/wiki/Comparison_of_JavaScript-based_web_frameworks" title="Comparison of JavaScript-based web frameworks">Comparison of JavaScript-based web frameworks</a></li> <li><a href="/wiki/Web_Components" title="Web Components">Web Components</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=23" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-lower-alpha"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">Merged into <a href="/w/index.php?title=React_Router&action=edit&redlink=1" class="new" title="React Router (page does not exist)">React Router</a> since React Router v7<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=24" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist reflist-columns references-column-width reflist-columns-2"> <ol class="references"> <li id="cite_note-Occhino-2013-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Occhino-2013_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFOcchinoWalke2013" class="citation web cs1">Occhino, Tom; Walke, Jordan (5 August 2013). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=GW0rj4sNH2w">"JS Apps at Facebook"</a>. <i>YouTube</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133559/https://www.youtube.com/watch?v=GW0rj4sNH2w">Archived</a> from the original on 31 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">22 Oct</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=YouTube&rft.atitle=JS+Apps+at+Facebook&rft.date=2013-08-05&rft.aulast=Occhino&rft.aufirst=Tom&rft.au=Walke%2C+Jordan&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGW0rj4sNH2w&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.freecodecamp.org/news/is-react-a-library-or-a-framework/">"Is React a Library or a Framework? Here's Why it Matters"</a>. <i>freeCodeCamp.org</i>. 2021-04-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-10-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=freeCodeCamp.org&rft.atitle=Is+React+a+Library+or+a+Framework%3F+Here%27s+Why+it+Matters&rft.date=2021-04-12&rft_id=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fis-react-a-library-or-a-framework%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-wikidata-c30e93f786fb33e1ab05526ee252ec9ef937f700-v18-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-c30e93f786fb33e1ab05526ee252ec9ef937f700-v18_3-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://react.dev/blog/2024/12/05/react-19">"React v19"</a>. 5 December 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">5 December</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=React+v19&rft.date=2024-12-05&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2024%2F12%2F05%2Freact-19&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-customelements-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-customelements_4-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://react.dev/blog/2024/04/25/react-19#whats-new-in-react-19">"What's new in React 19"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240512195006/https://react.dev/blog/2024/04/25/react-19#whats-new-in-react-19">Archived</a> from the original on 2024-05-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-05-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=What%27s+new+in+React+19&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2024%2F04%2F25%2Freact-19%23whats-new-in-react-19&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-reactjs.org-3-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-reactjs.org-3_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-reactjs.org-3_5-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-reactjs.org-3_5-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org">"React – A JavaScript library for building user interfaces"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180408084010/https://reactjs.org/">Archived</a> from the original on April 8, 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=React+%E2%80%93+A+JavaScript+library+for+building+user+interfaces.&rft_id=https%3A%2F%2Freactjs.org&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html">"Chapter 1. What Is React? - What React Is and Why It Matters [Book]"</a>. <i>www.oreilly.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230506100446/https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html">Archived</a> from the original on May 6, 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-05-06</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=www.oreilly.com&rft.atitle=Chapter+1.+What+Is+React%3F+-+What+React+Is+and+Why+It+Matters+%5BBook%5D&rft_id=https%3A%2F%2Fwww.oreilly.com%2Flibrary%2Fview%2Fwhat-react-is%2F9781491996744%2Fch01.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKrill2014" class="citation web cs1">Krill, Paul (May 15, 2014). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html">"React: Making faster, smoother UIs for data-driven Web apps"</a>. <i><a href="/wiki/InfoWorld" title="InfoWorld">InfoWorld</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180612141516/https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html">Archived</a> from the original on 2018-06-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-02-23</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=InfoWorld&rft.atitle=React%3A+Making+faster%2C+smoother+UIs+for+data-driven+Web+apps&rft.date=2014-05-15&rft.aulast=Krill&rft.aufirst=Paul&rft_id=https%3A%2F%2Fwww.infoworld.com%2Farticle%2F2608181%2Fjavascript%2Freact--making-faster--smoother-uis-for-data-driven-web-apps.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHemel2013" class="citation web cs1">Hemel, Zef (June 3, 2013). <a rel="nofollow" class="external text" href="https://www.infoq.com/news/2013/06/facebook-react">"Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews"</a>. <i>infoq.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220526082114/https://www.infoq.com/news/2013/06/facebook-react/">Archived</a> from the original on May 26, 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-01-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=infoq.com&rft.atitle=Facebook%27s+React+JavaScript+User+Interfaces+Library+Receives+Mixed+Reviews&rft.date=2013-06-03&rft.aulast=Hemel&rft.aufirst=Zef&rft_id=https%3A%2F%2Fwww.infoq.com%2Fnews%2F2013%2F06%2Ffacebook-react&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDawson2014" class="citation web cs1">Dawson, Chris (July 25, 2014). <a rel="nofollow" class="external text" href="https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/">"JavaScript's History and How it Led To ReactJS"</a>. <i>The New Stack</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200806190027/https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/">Archived</a> from the original on Aug 6, 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+New+Stack&rft.atitle=JavaScript%27s+History+and+How+it+Led+To+ReactJS&rft.date=2014-07-25&rft.aulast=Dawson&rft.aufirst=Chris&rft_id=https%3A%2F%2Fthenewstack.io%2Fjavascripts-history-and-how-it-led-to-reactjs%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLybrand2024" class="citation web cs1">Lybrand, Brooks (2024-05-15). <a rel="nofollow" class="external text" href="https://remix.run/blog/merging-remix-and-react-router">"Merging Remix and React Router"</a>. <i>remix.run</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-12-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=remix.run&rft.atitle=Merging+Remix+and+React+Router&rft.date=2024-05-15&rft.aulast=Lybrand&rft.aufirst=Brooks&rft_id=https%3A%2F%2Fremix.run%2Fblog%2Fmerging-remix-and-react-router&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEDere2017-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEDere2017_12-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFDere2017">Dere 2017</a>.</span> </li> <li id="cite_note-FOOTNOTEPanchal2022-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPanchal2022_13-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPanchal2022">Panchal 2022</a>.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.geeksforgeeks.org/reactjs-introduction/">"React Introduction"</a>. <i>GeeksforGeeks</i>. 2017-09-27<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-10-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GeeksforGeeks&rft.atitle=React+Introduction&rft.date=2017-09-27&rft_id=https%3A%2F%2Fwww.geeksforgeeks.org%2Freactjs-introduction%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEWieruch2020-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEWieruch2020_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-FOOTNOTEWieruch2020_15-11"><sup><i><b>l</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFWieruch2020">Wieruch 2020</a>.</span> </li> <li id="cite_note-FOOTNOTESchwarzmüller2018-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESchwarzmüller2018_16-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSchwarzmüller2018">Schwarzmüller 2018</a>.</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/components-and-props.html#props-are-read-only">"Components and Props"</a>. <i>React</i>. Facebook. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180407120115/https://reactjs.org/docs/components-and-props.html">Archived</a> from the original on 7 April 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React&rft.atitle=Components+and+Props&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fcomponents-and-props.html%23props-are-read-only&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTELarsen2021-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTELarsen2021_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTELarsen2021_18-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTELarsen2021_18-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-FOOTNOTELarsen2021_18-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-FOOTNOTELarsen2021_18-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-FOOTNOTELarsen2021_18-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFLarsen2021">Larsen 2021</a>.</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-intro.html">"Introducing Hooks"</a>. react.js. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181025163202/https://reactjs.org/docs/hooks-intro.html">Archived</a> from the original on 2018-10-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Introducing+Hooks&rft.pub=react.js&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-intro.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-overview.html">"Hooks at a Glance – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230315054047/https://reactjs.org/docs/hooks-overview.html">Archived</a> from the original on 2023-03-15<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-08-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Hooks+at+a+Glance+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-overview.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://soshace.com/2020/01/16/what-the-heck-is-react-hooks/">"What the Heck is React Hooks?"</a>. <i>Soshace</i>. 2020-01-16. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133601/https://blog.soshace.com/what-the-heck-is-react-hooks/">Archived</a> from the original on 2022-05-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Soshace&rft.atitle=What+the+Heck+is+React+Hooks%3F&rft.date=2020-01-16&rft_id=https%3A%2F%2Fsoshace.com%2F2020%2F01%2F16%2Fwhat-the-heck-is-react-hooks%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-state.html">"Using the State Hook – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220730180312/https://reactjs.org/docs/hooks-state.html">Archived</a> from the original on 2022-07-30<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Using+the+State+Hook+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-state.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-reactjs.org-2-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-reactjs.org-2_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-reactjs.org-2_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-reactjs.org-2_23-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-state.html">"Using the State Hook – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220730180312/https://reactjs.org/docs/hooks-state.html">Archived</a> from the original on 2022-07-30<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Using+the+State+Hook+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-state.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-effect.html">"Using the Effect Hook – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220801212858/https://reactjs.org/docs/hooks-effect.html">Archived</a> from the original on 2022-08-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Using+the+Effect+Hook+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-effect.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-reference.html">"Hooks API Reference – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220805061010/https://reactjs.org/docs/hooks-reference.html">Archived</a> from the original on 2022-08-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Hooks+API+Reference+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-reference.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-rules.html">"Rules of Hooks – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210606174151/https://reactjs.org/docs/hooks-rules.html">Archived</a> from the original on 2021-06-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Rules+of+Hooks+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-rules.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/hooks-custom.html">"Building Your Own Hooks – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220717175155/https://reactjs.org/docs/hooks-custom.html">Archived</a> from the original on 2022-07-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Building+Your+Own+Hooks+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Fhooks-custom.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components">"React Labs: What We've Been Working On – March 2023"</a>. <i>react.dev</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230726201006/https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components">Archived</a> from the original on 2023-07-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-07-23</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=react.dev&rft.atitle=React+Labs%3A+What+We%27ve+Been+Working+On+%E2%80%93+March+2023&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2023%2F03%2F22%2Freact-labs-what-we-have-been-working-on-march-2023%23react-server-components&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAbramovTanSavonaMarkbåge2020" class="citation web cs1">Abramov, Dan; Tan, Lauren; Savona, Joseph; Markbåge, Sebastian (2020-12-21). <a rel="nofollow" class="external text" href="https://react.dev/blog/2020/12/21/data-fetching-with-react-server-components">"Introducing Zero-Bundle-Size React Server Components"</a>. <i>react.dev</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=react.dev&rft.atitle=Introducing+Zero-Bundle-Size+React+Server+Components&rft.date=2020-12-21&rft.aulast=Abramov&rft.aufirst=Dan&rft.au=Tan%2C+Lauren&rft.au=Savona%2C+Joseph&rft.au=Markb%C3%A5ge%2C+Sebastian&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2020%2F12%2F21%2Fdata-fetching-with-react-server-components&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChourasia2023" class="citation web cs1">Chourasia, Rawnak (2023-03-08). <a rel="nofollow" class="external text" href="https://codeparttime.com/convert-class-to-function-arrow-react/">"Convert Class Component to Function(Arrow) Component – React"</a>. <i>Code Part Time</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230815131020/https://codeparttime.com/convert-class-to-function-arrow-react/">Archived</a> from the original on 2023-08-15<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-08-15</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Code+Part+Time&rft.atitle=Convert+Class+Component+to+Function%28Arrow%29+Component+%E2%80%93+React&rft.date=2023-03-08&rft.aulast=Chourasia&rft.aufirst=Rawnak&rft_id=https%3A%2F%2Fcodeparttime.com%2Fconvert-class-to-function-arrow-react%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.devban.com/react-router-ultimate-guide/">"Mastering React Router – The Ultimate Guide"</a>. 2023-07-12. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230726063450/https://www.devban.com/react-router-ultimate-guide/">Archived</a> from the original on 2023-07-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-07-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Mastering+React+Router+%E2%80%93+The+Ultimate+Guide&rft.date=2023-07-12&rft_id=https%3A%2F%2Fwww.devban.com%2Freact-router-ultimate-guide%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-React_Blog-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-React_Blog_32-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/refs-and-the-dom.html">"Refs and the DOM"</a>. <i>React Blog</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220807171328/https://reactjs.org/docs/refs-and-the-dom.html">Archived</a> from the original on 2022-08-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-07-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React+Blog&rft.atitle=Refs+and+the+DOM&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Frefs-and-the-dom.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-Codecademy-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-Codecademy_33-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.codecademy.com/articles/react-virtual-dom">"React: The Virtual DOM"</a>. <i>Codecademy</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20211028172953/https://www.codecademy.com/articles/react-virtual-dom">Archived</a> from the original on 2021-10-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-10-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Codecademy&rft.atitle=React%3A+The+Virtual+DOM&rft_id=https%3A%2F%2Fwww.codecademy.com%2Farticles%2Freact-virtual-dom&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-Aggarwal-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-Aggarwal_34-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAggarwal2018" class="citation web cs1">Aggarwal, Sanchit (March 2018). <a rel="nofollow" class="external text" href="https://ijrra.net/Vol5issue1/IJRRA-05-01-27.pdf">"Modern Web-Development using ReactJS"</a> <span class="cs1-format">(PDF)</span>. <i>International Journal of Recent Research Aspects</i>. pp. <span class="nowrap">133–</span>137. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240417143754/https://ijrra.net/Vol5issue1/IJRRA-05-01-27.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 17 April 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=International+Journal+of+Recent+Research+Aspects&rft.atitle=Modern+Web-Development+using+ReactJS&rft.pages=%3Cspan+class%3D%22nowrap%22%3E133-%3C%2Fspan%3E137&rft.date=2018-03&rft.aulast=Aggarwal&rft.aufirst=Sanchit&rft_id=https%3A%2F%2Fijrra.net%2FVol5issue1%2FIJRRA-05-01-27.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/react-dom.html">"ReactDOM – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230108104936/https://reactjs.org/docs/react-dom.html">Archived</a> from the original on 2023-01-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-01-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=ReactDOM+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Freact-dom.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/docs/reconciliation.html">"Reconciliation – React"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230108105122/https://reactjs.org/docs/reconciliation.html">Archived</a> from the original on 2023-01-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-01-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Reconciliation+%E2%80%93+React&rft_id=https%3A%2F%2Freactjs.org%2Fdocs%2Freconciliation.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://legacy.reactjs.org/docs/react-component.html">"React.Component – React"</a>. <i>legacy.reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240409075058/https://legacy.reactjs.org/docs/react-component.html">Archived</a> from the original on 2024-04-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-04-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=legacy.reactjs.org&rft.atitle=React.Component+%E2%80%93+React&rft_id=https%3A%2F%2Flegacy.reactjs.org%2Fdocs%2Freact-component.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://facebook.github.io/jsx/">"Draft: JSX Specification"</a>. <i>JSX</i>. Facebook. 2022-03-08. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220402072504/https://facebook.github.io/jsx/">Archived</a> from the original on 2022-04-02<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=JSX&rft.atitle=Draft%3A+JSX+Specification&rft.date=2022-03-08&rft_id=https%3A%2F%2Ffacebook.github.io%2Fjsx%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHunt2013" class="citation web cs1">Hunt, Pete (2013-06-05). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150406072833/http://facebook.github.io/react/blog/2013/06/05/why-react.html">"Why did we build React? – React Blog"</a>. <i>reactjs.org</i>. Archived from <a rel="nofollow" class="external text" href="https://facebook.github.io/react/blog/2013/06/05/why-react.html">the original</a> on 2015-04-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-02-17</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=Why+did+we+build+React%3F+%E2%80%93+React+Blog&rft.date=2013-06-05&rft.aulast=Hunt&rft.aufirst=Pete&rft_id=https%3A%2F%2Ffacebook.github.io%2Freact%2Fblog%2F2013%2F06%2F05%2Fwhy-react.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-medium.com-2015-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-medium.com-2015_40-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://medium.com/paypal-engineering/isomorphic-react-apps-with-react-engine-17dae662379c">"PayPal Isomorphic React"</a>. <i>medium.com</i>. 2015-04-27. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190208124143/https://www.paypal-engineering.com/2015/04/27/isomorphic-react-apps-with-react-engine/">Archived</a> from the original on 2019-02-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-02-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=medium.com&rft.atitle=PayPal+Isomorphic+React&rft.date=2015-04-27&rft_id=https%3A%2F%2Fmedium.com%2Fpaypal-engineering%2Fisomorphic-react-apps-with-react-engine-17dae662379c&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-netflixtechblog.com-2015-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-netflixtechblog.com-2015_41-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://techblog.netflix.com/2015/01/netflix-likes-react.html">"Netflix Isomorphic React"</a>. <i>netflixtechblog.com</i>. 2015-01-28. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161217043150/http://techblog.netflix.com/2015/01/netflix-likes-react.html">Archived</a> from the original on 2016-12-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-02-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=netflixtechblog.com&rft.atitle=Netflix+Isomorphic+React&rft.date=2015-01-28&rft_id=http%3A%2F%2Ftechblog.netflix.com%2F2015%2F01%2Fnetflix-likes-react.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-Flux-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-Flux_42-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20220807201252/https://facebook.github.io/flux/docs/in-depth-overview/">"In Depth OverView"</a>. <i>Flux</i>. Facebook. Archived from <a rel="nofollow" class="external text" href="https://facebook.github.io/flux/docs/in-depth-overview">the original</a> on 7 August 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Flux&rft.atitle=In+Depth+OverView&rft_id=https%3A%2F%2Ffacebook.github.io%2Fflux%2Fdocs%2Fin-depth-overview&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebook/flux/releases/tag/4.0.0">"Flux Release 4.0"</a>. <i>Github</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133558/https://github.com/facebook/flux/releases/tag/4.0.0">Archived</a> from the original on 31 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">26 February</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Github&rft.atitle=Flux+Release+4.0&rft_id=https%3A%2F%2Fgithub.com%2Ffacebook%2Fflux%2Freleases%2Ftag%2F4.0.0&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJohnson" class="citation web cs1">Johnson, Nicholas. <a rel="nofollow" class="external text" href="http://nicholasjohnson.com/react/course/exercises/flux/">"Introduction to Flux – React Exercise"</a>. <i>Nicholas Johnson</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133600/http://nicholasjohnson.com/react/course/exercises/flux/">Archived</a> from the original on 31 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Nicholas+Johnson&rft.atitle=Introduction+to+Flux+%E2%80%93+React+Exercise&rft.aulast=Johnson&rft.aufirst=Nicholas&rft_id=http%3A%2F%2Fnicholasjohnson.com%2Freact%2Fcourse%2Fexercises%2Fflux%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAbramov" class="citation web cs1">Abramov, Dan. <a rel="nofollow" class="external text" href="http://threedevsandamaybe.com/the-history-of-react-and-flux-with-dan-abramov/">"The History of React and Flux with Dan Abramov"</a>. <i>Three Devs and a Maybe</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180419075905/http://threedevsandamaybe.com/the-history-of-react-and-flux-with-dan-abramov/">Archived</a> from the original on 19 April 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">7 April</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Three+Devs+and+a+Maybe&rft.atitle=The+History+of+React+and+Flux+with+Dan+Abramov&rft.aulast=Abramov&rft.aufirst=Dan&rft_id=http%3A%2F%2Fthreedevsandamaybe.com%2Fthe-history-of-react-and-flux-with-dan-abramov%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://2016.stateofjs.com/2016/statemanagement/">"State Management Tools – Results"</a>. <i>The State of JavaScript</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133609/http://2016.stateofjs.com/2016/statemanagement/">Archived</a> from the original on 31 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">29 October</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+State+of+JavaScript&rft.atitle=State+Management+Tools+%E2%80%93+Results&rft_id=http%3A%2F%2F2016.stateofjs.com%2F2016%2Fstatemanagement%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#react-1">"React v16.8: The One with Hooks"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230108090021/https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#react-1">Archived</a> from the original on 2023-01-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-01-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=React+v16.8%3A+The+One+with+Hooks&rft_id=https%3A%2F%2Freactjs.org%2Fblog%2F2019%2F02%2F06%2Freact-v16.8.0.html%23react-1&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20151222141426/https://discuss.reactjs.org/c/meeting-notes">"Meeting Notes"</a>. <i>React Discuss</i>. Archived from <a rel="nofollow" class="external text" href="https://discuss.reactjs.org/c/meeting-notes">the original</a> on 2015-12-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React+Discuss&rft.atitle=Meeting+Notes&rft_id=https%3A%2F%2Fdiscuss.reactjs.org%2Fc%2Fmeeting-notes&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/reactjs/react-future">"reactjs/react-future – The Future of React"</a>. <i>GitHub</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220713230021/https://github.com/reactjs/react-future">Archived</a> from the original on 2022-07-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=reactjs%2Freact-future+%E2%80%93+The+Future+of+React&rft_id=https%3A%2F%2Fgithub.com%2Freactjs%2Freact-future&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebook/react/labels/Type:%20Feature%20Request">"facebook/react – Feature request issues"</a>. <i>GitHub</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220709131412/https://github.com/facebook/react/labels/Type%3A%20Feature%20Request">Archived</a> from the original on 2022-07-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=facebook%2Freact+%E2%80%93+Feature+request+issues&rft_id=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Flabels%2FType%3A%2520Feature%2520Request&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-Youtube-2023-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-Youtube-2023_51-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://youtube.com/watch?v=8pDqJVdNa44%3Fsi%3DFMJqegC4dPtwKP__&t=528">"React.js: The Documentary"</a>. <i>Youtube</i>. Honeypot. 10 February 2023. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240119211307/https://www.youtube.com/watch?v=8pDqJVdNa44%3Fsi%3DFMJqegC4dPtwKP__&t=528">Archived</a> from the original on 2024-01-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-05-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Youtube&rft.atitle=React.js%3A+The+Documentary&rft.date=2023-02-10&rft_id=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3D8pDqJVdNa44%253Fsi%253DFMJqegC4dPtwKP__%26t%3D528&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-Lopez-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lopez_52-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLopez2024" class="citation web cs1">Lopez, Marny (13 May 2024). <a rel="nofollow" class="external text" href="https://www.devlane.com/blog/why-react-is-so-widely-adopted-by-web-developers">"Why React is so widely adopted by web developers?"</a>. <i>Devlane</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240620092857/https://www.devlane.com/blog/why-react-is-so-widely-adopted-by-web-developers">Archived</a> from the original on 20 June 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Devlane&rft.atitle=Why+React+is+so+widely+adopted+by+web+developers%3F&rft.date=2024-05-13&rft.aulast=Lopez&rft.aufirst=Marny&rft_id=https%3A%2F%2Fwww.devlane.com%2Fblog%2Fwhy-react-is-so-widely-adopted-by-web-developers&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTELardinois2017-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELardinois2017_53-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLardinois2017">Lardinois 2017</a>.</span> </li> <li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/acdlite/react-fiber-architecture">"React Fiber Architecture"</a>. <i>Github</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180510140634/https://github.com/acdlite/react-fiber-architecture">Archived</a> from the original on 10 May 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Github&rft.atitle=React+Fiber+Architecture&rft_id=https%3A%2F%2Fgithub.com%2Facdlite%2Freact-fiber-architecture&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-TechCrunch-2017-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-TechCrunch-2017_55-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://techcrunch.com/2017/04/18/facebook-announces-react-fiber-a-rewrite-of-its-react-framework/">"Facebook announces React Fiber, a rewrite of its React framework"</a>. <i>TechCrunch</i>. 18 April 2017. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180614172053/https://techcrunch.com/2017/04/18/facebook-announces-react-fiber-a-rewrite-of-its-react-framework/">Archived</a> from the original on 2018-06-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-10-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TechCrunch&rft.atitle=Facebook+announces+React+Fiber%2C+a+rewrite+of+its+React+framework&rft.date=2017-04-18&rft_id=https%3A%2F%2Ftechcrunch.com%2F2017%2F04%2F18%2Ffacebook-announces-react-fiber-a-rewrite-of-its-react-framework%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-github.com-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-github.com_56-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/acdlite/react-fiber-architecture">"GitHub – acdlite/react-fiber-architecture: A description of React's new core algorithm, React Fiber"</a>. <i>github.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180510140634/https://github.com/acdlite/react-fiber-architecture">Archived</a> from the original on 2018-05-10<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-10-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=github.com&rft.atitle=GitHub+%E2%80%93+acdlite%2Freact-fiber-architecture%3A+A+description+of+React%27s+new+core+algorithm%2C+React+Fiber&rft_id=https%3A%2F%2Fgithub.com%2Facdlite%2Freact-fiber-architecture&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/blog/2017/09/26/react-v16.0.html">"React v16.0"</a>. react.js. 2017-09-26. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171003031315/https://reactjs.org/blog/2017/09/26/react-v16.0.html">Archived</a> from the original on 2017-10-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=React+v16.0&rft.pub=react.js&rft.date=2017-09-26&rft_id=https%3A%2F%2Freactjs.org%2Fblog%2F2017%2F09%2F26%2Freact-v16.0.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58">^</a></b></span> <span class="reference-text">url=<a rel="nofollow" class="external free" href="https://reactjs.org/blog/2020/08/10/react-v17-rc.html">https://reactjs.org/blog/2020/08/10/react-v17-rc.html</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200810215037/https://reactjs.org/blog/2020/08/10/react-v17-rc.html">Archived</a> 2020-08-10 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-59">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://react.dev/blog/2022/03/29/react-v18">"React 18"</a>. <i>React</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 December</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React&rft.atitle=React+18&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2022%2F03%2F29%2Freact-v18&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://react.dev/blog/2024/12/05/react-19#whats-new-in-react-19">"React 19"</a>. <i>React</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 December</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React&rft.atitle=React+19&rft_id=https%3A%2F%2Freact.dev%2Fblog%2F2024%2F12%2F05%2Freact-19%23whats-new-in-react-19&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-reactjs.org-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-reactjs.org_61-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://reactjs.org/blog/2022/03/29/react-v18.html">"React v18.0"</a>. <i>reactjs.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220329160934/https://reactjs.org/blog/2022/03/29/react-v18.html">Archived</a> from the original on 2022-03-29<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-04-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=reactjs.org&rft.atitle=React+v18.0&rft_id=https%3A%2F%2Freactjs.org%2Fblog%2F2022%2F03%2F29%2Freact-v18.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebook/react/blob/master/CHANGELOG.md#0120-october-28-2014">"React CHANGELOG.md"</a>. <i>GitHub</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200428042800/https://github.com/facebook/react/blob/master/CHANGELOG.md#0120-october-28-2014">Archived</a> from the original on 2020-04-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=React+CHANGELOG.md&rft_id=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fblob%2Fmaster%2FCHANGELOG.md%230120-october-28-2014&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-63">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLiu" class="citation web cs1">Liu, Austin. <a rel="nofollow" class="external text" href="https://medium.com/bits-and-pixels/a-compelling-reason-not-to-use-reactjs-beac24402f7b">"A compelling reason not to use ReactJS"</a>. <i>Medium</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133320/https://medium.com/bits-and-pixels/a-compelling-reason-not-to-use-reactjs-beac24402f7b">Archived</a> from the original on 2022-05-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Medium&rft.atitle=A+compelling+reason+not+to+use+ReactJS&rft.aulast=Liu&rft.aufirst=Austin&rft_id=https%3A%2F%2Fmedium.com%2Fbits-and-pixels%2Fa-compelling-reason-not-to-use-reactjs-beac24402f7b&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.facebook.com/posts/1639473982937255/updating-our-open-source-patent-grant/">"Updating Our Open Source Patent Grant"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201108114832/https://code.facebook.com/posts/1639473982937255/updating-our-open-source-patent-grant/">Archived</a> from the original on 2020-11-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Updating+Our+Open+Source+Patent+Grant&rft_id=https%3A%2F%2Fcode.facebook.com%2Fposts%2F1639473982937255%2Fupdating-our-open-source-patent-grant%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS">"Additional Grant of Patent Rights Version 2"</a>. <i>GitHub</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133320/https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS">Archived</a> from the original on 2022-05-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=Additional+Grant+of+Patent+Rights+Version+2&rft_id=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fblob%2Fb8ba8c83f318b84e42933f6928f231dc0918f864%2FPATENTS&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-66">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.apache.org/legal/resolved.html">"ASF Legal Previously Asked Questions"</a>. Apache Software Foundation. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180206232339/http://www.apache.org/legal/resolved.html">Archived</a> from the original on 2018-02-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-07-16</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=ASF+Legal+Previously+Asked+Questions&rft.pub=Apache+Software+Foundation&rft_id=https%3A%2F%2Fwww.apache.org%2Flegal%2Fresolved.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-67">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.facebook.com/posts/112130496157735/explaining-react-s-license/">"Explaining React's License"</a>. <i>Facebook</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210506164245/https://code.facebook.com/posts/112130496157735/explaining-react-s-license">Archived</a> from the original on 2021-05-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Facebook&rft.atitle=Explaining+React%27s+License&rft_id=https%3A%2F%2Fcode.facebook.com%2Fposts%2F112130496157735%2Fexplaining-react-s-license%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-68">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/facebook/react/issues/10191#issuecomment-323486580">"Consider re-licensing to AL v2.0, as RocksDB has just done"</a>. <i>Github</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220727100939/https://github.com/facebook/react/issues/10191#issuecomment-323486580">Archived</a> from the original on 2022-07-27<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Github&rft.atitle=Consider+re-licensing+to+AL+v2.0%2C+as+RocksDB+has+just+done&rft_id=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fissues%2F10191%23issuecomment-323486580&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://techcrunch.com/2017/09/15/wordpress-to-ditch-react-library-over-facebook-patent-clause-risk/">"WordPress to ditch React library over Facebook patent clause risk"</a>. <i>TechCrunch</i>. 15 September 2017. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133350/https://techcrunch.com/2017/09/15/wordpress-to-ditch-react-library-over-facebook-patent-clause-risk/">Archived</a> from the original on 2022-05-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-16</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TechCrunch&rft.atitle=WordPress+to+ditch+React+library+over+Facebook+patent+clause+risk&rft.date=2017-09-15&rft_id=https%3A%2F%2Ftechcrunch.com%2F2017%2F09%2F15%2Fwordpress-to-ditch-react-library-over-facebook-patent-clause-risk%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/">"Relicensing React, Jest, Flow, and Immutable.js"</a>. <i>Facebook Code</i>. 2017-09-23. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201206105641/https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/">Archived</a> from the original on 2020-12-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-23</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Facebook+Code&rft.atitle=Relicensing+React%2C+Jest%2C+Flow%2C+and+Immutable.js&rft.date=2017-09-23&rft_id=https%3A%2F%2Fcode.facebook.com%2Fposts%2F300798627056246%2Frelicensing-react-jest-flow-and-immutable-js%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFClark2017" class="citation web cs1">Clark, Andrew (September 26, 2017). <a rel="nofollow" class="external text" href="https://reactjs.org/blog/2017/09/26/react-v16.0.html#mit-licensed">"React v16.0§MIT licensed"</a>. <i>React Blog</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171003031315/https://reactjs.org/blog/2017/09/26/react-v16.0.html#mit-licensed">Archived</a> from the original on October 3, 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">October 18,</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React+Blog&rft.atitle=React+v16.0%C2%A7MIT+licensed&rft.date=2017-09-26&rft.aulast=Clark&rft.aufirst=Andrew&rft_id=https%3A%2F%2Freactjs.org%2Fblog%2F2017%2F09%2F26%2Freact-v16.0.html%23mit-licensed&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHunzaker2017" class="citation web cs1">Hunzaker, Nathan (September 25, 2017). <a rel="nofollow" class="external text" href="https://reactjs.org/blog/2017/09/25/react-v15.6.2.html">"React v15.6.2"</a>. <i>React Blog</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133328/https://reactjs.org/blog/2017/09/25/react-v15.6.2.html">Archived</a> from the original on May 31, 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">October 18,</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=React+Blog&rft.atitle=React+v15.6.2&rft.date=2017-09-25&rft.aulast=Hunzaker&rft.aufirst=Nathan&rft_id=https%3A%2F%2Freactjs.org%2Fblog%2F2017%2F09%2F25%2Freact-v15.6.2.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-:02-73"><span class="mw-cite-backlink">^ <a href="#cite_ref-:02_73-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:02_73-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:02_73-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFUzayrCloudAmbler2019" class="citation book cs1">Uzayr, Sufyan bin; Cloud, Nicholas; Ambler, Tim (November 2019). <i>JavaScript Frameworks for Modern Web Development: The Essential Frameworks, Libraries, and Tools to Learn Right Now</i>. Apress. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1484249949" title="Special:BookSources/978-1484249949"><bdi>978-1484249949</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=JavaScript+Frameworks+for+Modern+Web+Development%3A+The+Essential+Frameworks%2C+Libraries%2C+and+Tools+to+Learn+Right+Now&rft.pub=Apress&rft.date=2019-11&rft.isbn=978-1484249949&rft.aulast=Uzayr&rft.aufirst=Sufyan+bin&rft.au=Cloud%2C+Nicholas&rft.au=Ambler%2C+Tim&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-:12-74"><span class="mw-cite-backlink">^ <a href="#cite_ref-:12_74-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:12_74-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:12_74-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Building Native Web Components: Front-End Development with Polymer and Vue.js</i>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1484259047" title="Special:BookSources/978-1484259047"><bdi>978-1484259047</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Building+Native+Web+Components%3A+Front-End+Development+with+Polymer+and+Vue.js&rft.isbn=978-1484259047&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-:22-75"><span class="mw-cite-backlink">^ <a href="#cite_ref-:22_75-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:22_75-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:22_75-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Hands-On JavaScript High Performance: Build faster web apps using Node.js, Svelte.js, and WebAssembly</i>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1838821098" title="Special:BookSources/978-1838821098"><bdi>978-1838821098</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Hands-On+JavaScript+High+Performance%3A+Build+faster+web+apps+using+Node.js%2C+Svelte.js%2C+and+WebAssembly&rft.isbn=978-1838821098&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-76">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/enhance-dev">"Enhance"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=Enhance&rft_id=https%3A%2F%2Fgithub.com%2Fenhance-dev&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-77">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/withastro/astro">"Astro framework"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=Astro+framework&rft_id=https%3A%2F%2Fgithub.com%2Fwithastro%2Fastro&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> <li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/denoland/fresh">"Fresh"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=Fresh&rft_id=https%3A%2F%2Fgithub.com%2Fdenoland%2Ffresh&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=25" title="Edit section: Bibliography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239549316">.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}</style><div class="refbegin" style=""> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLarsen2021" class="citation book cs1">Larsen, John (2021). <i>React Hooks in Action With Suspense and Concurrent Mode</i>. Manning. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-72004-399-7" title="Special:BookSources/978-1-72004-399-7"><bdi>978-1-72004-399-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=React+Hooks+in+Action+With+Suspense+and+Concurrent+Mode&rft.pub=Manning&rft.date=2021&rft.isbn=978-1-72004-399-7&rft.aulast=Larsen&rft.aufirst=John&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSchwarzmüller2018" class="citation book cs1">Schwarzmüller, Max (2018-05-01). <i>React – The Complete Guide (incl. Hooks, React Router and Redux)</i>. <a href="/wiki/Packt_Publishing" class="mw-redirect" title="Packt Publishing">Packt Publishing</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=React+%E2%80%93+The+Complete+Guide+%28incl.+Hooks%2C+React+Router+and+Redux%29&rft.pub=Packt+Publishing&rft.date=2018-05-01&rft.aulast=Schwarzm%C3%BCller&rft.aufirst=Max&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWieruch2020" class="citation book cs1">Wieruch, Robin (2020). <i>The Road to React</i>. Leanpub. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-72004-399-7" title="Special:BookSources/978-1-72004-399-7"><bdi>978-1-72004-399-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Road+to+React&rft.pub=Leanpub&rft.date=2020&rft.isbn=978-1-72004-399-7&rft.aulast=Wieruch&rft.aufirst=Robin&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDere2017" class="citation news cs1">Dere, Mohan (2017-12-21). <a rel="nofollow" class="external text" href="https://medium.freecodecamp.org/integrating-create-react-app-redux-react-router-redux-observable-bootstrap-altogether-216db97e89a3">"How to integrate create-react-app with all the libraries you need to make a great app"</a>. <i>freeCodeCamp</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2018-06-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=freeCodeCamp&rft.atitle=How+to+integrate+create-react-app+with+all+the+libraries+you+need+to+make+a+great+app&rft.date=2017-12-21&rft.aulast=Dere&rft.aufirst=Mohan&rft_id=https%3A%2F%2Fmedium.freecodecamp.org%2Fintegrating-create-react-app-redux-react-router-redux-observable-bootstrap-altogether-216db97e89a3&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPanchal2022" class="citation news cs1">Panchal, Krunal (2022-04-26). <a rel="nofollow" class="external text" href="https://www.sitepoint.com/angular-vs-react/">"Angular vs React Detailed Comparison"</a>. <i>SitePoint</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230330160838/https://www.sitepoint.com/angular-vs-react/">Archived</a> from the original on 2023-03-30<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-06-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=SitePoint&rft.atitle=Angular+vs+React+Detailed+Comparison&rft.date=2022-04-26&rft.aulast=Panchal&rft.aufirst=Krunal&rft_id=https%3A%2F%2Fwww.sitepoint.com%2Fangular-vs-react%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHámori2022" class="citation news cs1">Hámori, Fenerec (2022-05-31). <a rel="nofollow" class="external text" href="https://blog.risingstack.com/the-history-of-react-js-on-a-timeline/">"The History of React.js on a Timeline"</a>. <i>RisingStack</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220531133616/https://blog.risingstack.com/the-history-of-react-js-on-a-timeline/">Archived</a> from the original on 2022-05-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-06-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=RisingStack&rft.atitle=The+History+of+React.js+on+a+Timeline&rft.date=2022-05-31&rft.aulast=H%C3%A1mori&rft.aufirst=Fenerec&rft_id=https%3A%2F%2Fblog.risingstack.com%2Fthe-history-of-react-js-on-a-timeline%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLardinois2017" class="citation news cs1">Lardinois, Frederic (2017-04-18). <a rel="nofollow" class="external text" href="https://techcrunch.com/2017/04/18/facebook-announces-react-fiber-a-rewrite-of-its-react-framework/">"Facebook announces React Fiber, a rewrite of its React framework"</a>. <i><a href="/wiki/TechCrunch" title="TechCrunch">TechCrunch</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-12-31</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=TechCrunch&rft.atitle=Facebook+announces+React+Fiber%2C+a+rewrite+of+its+React+framework&rft.date=2017-04-18&rft.aulast=Lardinois&rft.aufirst=Frederic&rft_id=https%3A%2F%2Ftechcrunch.com%2F2017%2F04%2F18%2Ffacebook-announces-react-fiber-a-rewrite-of-its-react-framework%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReact+%28software%29" class="Z3988"></span></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=React_(software)&action=edit&section=26" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://react.dev/">Official website</a></span></span> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q19399674#P856" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li> <li><a rel="nofollow" class="external text" href="https://github.com/facebook/react">Github</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="JavaScript_templating_libraries74" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:JS_templating" title="Template:JS templating"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:JS_templating" title="Template talk:JS templating"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:JS_templating" title="Special:EditPage/Template:JS templating"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="JavaScript_templating_libraries74" style="font-size:114%;margin:0 4em"><a href="/wiki/JavaScript_templating" title="JavaScript templating">JavaScript templating libraries</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Libraries</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Angular_(web_framework)" title="Angular (web framework)">Angular</a> <ul><li><a href="/wiki/AngularJS" title="AngularJS">AngularJS</a></li></ul></li> <li><a href="/wiki/Backbone.js" title="Backbone.js">Backbone.js</a></li> <li><a href="/wiki/Ember.js" title="Ember.js">Ember.js</a></li> <li><a href="/wiki/Knockout_(web_framework)" title="Knockout (web framework)">Knockout</a></li> <li><a href="/wiki/Mustache_(template_system)" title="Mustache (template system)">Mustache.js</a> <ul><li><a href="/wiki/Mustache_(template_system)#Handlebars" title="Mustache (template system)">Handlebars.js</a></li></ul></li> <li><a class="mw-selflink selflink">React.js</a></li> <li><a href="/wiki/Vue.js" title="Vue.js">Vue.js</a></li> <li><a href="/wiki/Svelte" title="Svelte">Svelte</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Model%E2%80%93view%E2%80%93controller" title="Model–view–controller">Model–view–controller (MVC)</a></li> <li><a href="/wiki/Model%E2%80%93view%E2%80%93viewmodel" title="Model–view–viewmodel">Model–view–viewmodel (MVVM)</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Web_frameworks386" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Web_frameworks" title="Template:Web frameworks"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Web_frameworks" title="Template talk:Web frameworks"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Web_frameworks" title="Special:EditPage/Template:Web frameworks"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Web_frameworks386" style="font-size:114%;margin:0 4em"><a href="/wiki/Web_framework" title="Web framework">Web frameworks</a></div></th></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div> <ul><li><a href="/wiki/Comparison_of_server-side_web_frameworks" title="Comparison of server-side web frameworks">Comparison</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/.NET" title=".NET">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ASP.NET" title="ASP.NET">ASP.NET</a> <ul><li><a href="/wiki/ASP.NET_Core" title="ASP.NET Core">Core</a></li> <li><a href="/wiki/ASP.NET_AJAX" title="ASP.NET AJAX">AJAX</a></li> <li><a href="/wiki/ASP.NET_Dynamic_Data" title="ASP.NET Dynamic Data">Dynamic Data</a></li> <li><a href="/wiki/ASP.NET_MVC" title="ASP.NET MVC">MVC</a></li> <li><a href="/wiki/ASP.NET_Razor" title="ASP.NET Razor">Razor</a></li> <li><a href="/wiki/ASP.NET_Web_Forms" title="ASP.NET Web Forms">Web Forms</a></li></ul></li> <li><a href="/wiki/Blazor" title="Blazor">Blazor</a></li> <li><a href="/wiki/DotNetNuke" class="mw-redirect" title="DotNetNuke">DNN</a></li> <li><a href="/wiki/Base_One_Foundation_Component_Library" title="Base One Foundation Component Library">BFC</a></li> <li><a href="/wiki/MonoRail_(software)" title="MonoRail (software)">MonoRail</a></li> <li><a href="/wiki/Umbraco" title="Umbraco">Umbraco</a></li> <li><a href="/wiki/WebSharper" title="WebSharper">WebSharper</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/C%2B%2B" title="C++">C++</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CppCMS" title="CppCMS">CppCMS</a></li> <li><a href="/wiki/Drogon_(software)" title="Drogon (software)">Drogon</a></li> <li><a href="/wiki/Wt_(web_toolkit)" title="Wt (web toolkit)">Wt</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Adobe_ColdFusion" title="Adobe ColdFusion">ColdFusion</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ColdBox_Platform" title="ColdBox Platform">ColdBox Platform</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CL-HTTP" title="CL-HTTP">CL-HTTP</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Haskell" title="Haskell">Haskell</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Servant_(web_framework)" title="Servant (web framework)">Servant</a></li> <li><a href="/wiki/Snap_(web_framework)" title="Snap (web framework)">Snap</a></li> <li><a href="/wiki/Yesod_(web_framework)" title="Yesod (web framework)">Yesod</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AppFuse" title="AppFuse">AppFuse</a></li> <li><a href="/wiki/Grails_(framework)" title="Grails (framework)">Grails</a></li> <li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">GWT</a></li> <li><a href="/wiki/ICEfaces" title="ICEfaces">ICEfaces</a></li> <li><a href="/wiki/JHipster" title="JHipster">JHipster</a></li> <li><a href="/wiki/JWt_(Java_web_toolkit)" title="JWt (Java web toolkit)">JWt</a></li> <li><a href="/wiki/Jakarta_Faces#JSF_and_Ajax" title="Jakarta Faces">Mojarra</a></li> <li><a href="/wiki/Play_Framework" title="Play Framework">Play</a></li> <li><a href="/wiki/Remote_Application_Platform" title="Remote Application Platform">Remote Application Platform</a></li> <li><a href="/wiki/JBoss_Seam" title="JBoss Seam">Seam</a></li> <li><a href="/wiki/Apache_Sling" title="Apache Sling">Sling</a></li> <li><a href="/wiki/Spring_Framework#Model-view-controller_framework" title="Spring Framework">Spring</a></li> <li><a href="/wiki/Stripes_(framework)" title="Stripes (framework)">Stripes</a></li> <li><a href="/wiki/Apache_Struts" title="Apache Struts">Struts</a></li> <li><a href="/wiki/Apache_Tapestry" title="Apache Tapestry">Tapestry</a></li> <li><a href="/wiki/Vaadin" title="Vaadin">Vaadin</a></li> <li><a href="/wiki/Vert.x" title="Vert.x">Vert.x</a></li> <li><a href="/wiki/Apache_Wicket" title="Apache Wicket">Wicket</a></li> <li><a href="/wiki/WaveMaker" title="WaveMaker">WaveMaker</a></li> <li><a href="/wiki/ZK_(framework)" title="ZK (framework)">ZK</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Angular_(web_framework)" title="Angular (web framework)">Angular</a>/<a href="/wiki/AngularJS" title="AngularJS">AngularJS</a></li> <li><a href="/wiki/Backbone.js" title="Backbone.js">Backbone.js</a></li> <li><a href="/wiki/Google_Closure_Tools" title="Google Closure Tools">Closure</a></li> <li><a href="/wiki/Dojo_Toolkit" title="Dojo Toolkit">Dojo Toolkit</a></li> <li><a href="/wiki/Ember.js" title="Ember.js">Ember.js</a></li> <li><a href="/wiki/Express.js" title="Express.js">Express.js</a></li> <li><a href="/wiki/Ext_JS" title="Ext JS">Ext JS</a></li> <li><a href="/wiki/Fastify" title="Fastify">Fastify</a></li> <li><a href="/wiki/Htmx" title="Htmx">htmx</a></li> <li><a href="/wiki/JQuery" title="JQuery">jQuery</a></li> <li><a href="/wiki/Knockout.js" class="mw-redirect" title="Knockout.js">Knockout.js</a></li> <li><a href="/wiki/Meteor_(web_framework)" title="Meteor (web framework)">Meteor</a></li> <li><a href="/wiki/MooTools" title="MooTools">MooTools</a></li> <li><a href="/wiki/NestJS" title="NestJS">NestJS</a></li> <li><a href="/wiki/Next.js" title="Next.js">Next.js</a></li> <li><a href="/wiki/Nuxt.js" class="mw-redirect" title="Nuxt.js">Nuxt.js</a></li> <li><a href="/wiki/Node.js" title="Node.js">Node.js</a></li> <li><a href="/wiki/OpenUI5" title="OpenUI5">OpenUI5</a></li> <li><a href="/wiki/Prototype_JavaScript_Framework" title="Prototype JavaScript Framework">Prototype</a></li> <li><a class="mw-selflink selflink">React</a></li> <li><a href="/wiki/Remix_(web_framework)" title="Remix (web framework)">Remix</a></li> <li><a href="/wiki/Sencha_Touch" title="Sencha Touch">Sencha Touch</a></li> <li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a></li> <li><a href="/wiki/Svelte" title="Svelte">Svelte</a></li> <li><a href="/wiki/Vue.js" title="Vue.js">Vue.js</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Perl" title="Perl">Perl</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Catalyst_(software)" title="Catalyst (software)">Catalyst</a></li> <li><a href="/wiki/Dancer_(software)" title="Dancer (software)">Dancer</a></li> <li><a href="/wiki/Maypole_framework" class="mw-redirect" title="Maypole framework">Maypole</a></li> <li><a href="/wiki/Mojolicious" title="Mojolicious">Mojolicious</a></li> <li><a href="/wiki/WebGUI" title="WebGUI">WebGUI</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/PHP" title="PHP">PHP</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CakePHP" title="CakePHP">CakePHP</a></li> <li><a href="/wiki/CodeIgniter" title="CodeIgniter">CodeIgniter</a></li> <li><a href="/wiki/Drupal" title="Drupal">Drupal</a></li> <li><a href="/wiki/EZ_Publish" title="EZ Publish">eZ Publish</a></li> <li><a href="/wiki/Fat-Free_Framework" title="Fat-Free Framework">Fat-Free</a></li> <li><a href="/wiki/Neos_Flow" title="Neos Flow">Flow</a></li> <li><a href="/wiki/FuelPHP" title="FuelPHP">FuelPHP</a></li> <li><a href="/wiki/Grav_(CMS)" title="Grav (CMS)">Grav</a></li> <li><a href="/wiki/Gyroscope_(software)" title="Gyroscope (software)">Gyroscope</a></li> <li><a href="/wiki/Horde_(software)" title="Horde (software)">Horde</a></li> <li><a href="/wiki/Joomla" title="Joomla">Joomla!</a></li> <li><a href="/wiki/Laminas" title="Laminas">Laminas</a></li> <li><a href="/wiki/Laravel" title="Laravel">Laravel</a></li> <li><a href="/wiki/Li3_(software)" title="Li3 (software)">li₃</a></li> <li><a href="/wiki/Midgard_(software)" title="Midgard (software)">Midgard</a></li> <li><a href="/wiki/MODX" title="MODX">MODX</a></li> <li><a href="/wiki/Phalcon_(framework)" title="Phalcon (framework)">Phalcon</a></li> <li><a href="/wiki/PHP-Fusion" title="PHP-Fusion">PHP-Fusion</a></li> <li><a href="/wiki/PHP-Nuke" title="PHP-Nuke">PHP-Nuke</a></li> <li><a href="/wiki/Pop_PHP_Framework" title="Pop PHP Framework">Pop PHP</a></li> <li><a href="/wiki/PRADO_(framework)" title="PRADO (framework)">PRADO</a></li> <li><a href="/wiki/ProcessWire" title="ProcessWire">ProcessWire</a></li> <li><a href="/wiki/Qcodo" title="Qcodo">Qcodo</a></li> <li><a href="/wiki/Silverstripe_CMS" title="Silverstripe CMS">Silverstripe</a></li> <li><a href="/wiki/Symfony" title="Symfony">Symfony</a></li> <li><a href="/wiki/TYPO3" title="TYPO3">TYPO3</a></li> <li><a href="/wiki/WordPress" title="WordPress">WordPress</a></li> <li><a href="/wiki/XOOPS" title="XOOPS">XOOPS</a></li> <li><a href="/wiki/Yii" title="Yii">Yii</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Zope#BlueBream" title="Zope">BlueBream</a></li> <li><a href="/wiki/CherryPy" title="CherryPy">CherryPy</a></li> <li><a href="/wiki/CubicWeb" title="CubicWeb">CubicWeb</a></li> <li><a href="/wiki/Django_(web_framework)" title="Django (web framework)">Django</a></li> <li><a href="/wiki/FastAPI" title="FastAPI">FastAPI</a></li> <li><a href="/wiki/Flask_(web_framework)" title="Flask (web framework)">Flask</a></li> <li><a href="/wiki/Grok_(web_framework)" title="Grok (web framework)">Grok</a></li> <li><a href="/wiki/Nevow" class="mw-redirect" title="Nevow">Nevow</a></li> <li><a href="/wiki/Pyjs" title="Pyjs">Pyjs</a></li> <li><a href="/wiki/Pylons_project#Pylons_Framework" title="Pylons project">Pylons</a></li> <li><a href="/wiki/Pylons_project#Pyramid" title="Pylons project">Pyramid</a></li> <li><a href="/wiki/Quixote_(web_framework)" title="Quixote (web framework)">Quixote</a></li> <li><a href="/wiki/Tornado_(web_server)" title="Tornado (web server)">Tornado</a></li> <li><a href="/wiki/TurboGears" title="TurboGears">TurboGears</a></li> <li><a href="/wiki/Web2py" title="Web2py">web2py</a></li> <li><a href="/wiki/Zope#Zope_2" title="Zope">Zope 2</a></li> <li><i><a href="/wiki/Category:Python_(programming_language)_web_frameworks" title="Category:Python (programming language) web frameworks">more</a></i>...</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Merb" title="Merb">Merb</a></li> <li><a href="/wiki/Padrino_(web_framework)" title="Padrino (web framework)">Padrino</a></li> <li><a href="/wiki/Ruby_on_Rails" title="Ruby on Rails">Ruby on Rails</a></li> <li><a href="/wiki/Sinatra_(software)" title="Sinatra (software)">Sinatra</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Rocket_(web_framework)" title="Rocket (web framework)">Rocket</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Lift_(web_framework)" title="Lift (web framework)">Lift</a></li> <li><a href="/wiki/Play_Framework" title="Play Framework">Play</a></li> <li><a href="/wiki/Scalatra" title="Scalatra">Scalatra</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AIDA/Web" title="AIDA/Web">AIDA/Web</a></li> <li><a href="/wiki/Seaside_(software)" title="Seaside (software)">Seaside</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other languages</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Oracle_Application_Express" title="Oracle Application Express">Application Express</a> (<a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a>)</li> <li><a href="/wiki/Grails_(framework)" title="Grails (framework)">Grails</a> (<a href="/wiki/Groovy_(programming_language)" class="mw-redirect" title="Groovy (programming language)">Groovy</a>)</li> <li><a href="/wiki/OpenACS" class="mw-redirect" title="OpenACS">OpenACS</a> (<a href="/wiki/Tcl" title="Tcl">Tcl</a>)</li> <li><a href="/wiki/Phoenix_(web_framework)" title="Phoenix (web framework)">Phoenix</a> (<a href="/wiki/Elixir_(programming_language)" title="Elixir (programming language)">Elixir</a>)</li> <li><a href="/wiki/Shiny_(web_framework)" title="Shiny (web framework)">Shiny (web framework)</a> (<a href="/wiki/R_(programming_language)" title="R (programming language)">R</a>)</li> <li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a> (<a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>-<a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>)</li> <li><a href="/wiki/Yaws_(web_server)" title="Yaws (web server)">Yaws</a> (<a href="/wiki/Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a>)</li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="ECMAScript564" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:ECMAScript" title="Template:ECMAScript"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:ECMAScript" title="Template talk:ECMAScript"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:ECMAScript" title="Special:EditPage/Template:ECMAScript"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="ECMAScript564" style="font-size:114%;margin:0 4em"><a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Dialects</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ActionScript" title="ActionScript">ActionScript</a></li> <li><a href="/wiki/Caja_project" title="Caja project">Caja</a></li> <li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> <ul><li><a href="/wiki/JavaScript_engine" title="JavaScript engine">engines</a></li> <li><a href="/wiki/Asm.js" title="Asm.js">asm.js</a></li></ul></li> <li><a href="/wiki/JScript" title="JScript">JScript</a></li> <li><a href="/wiki/JScript_.NET" title="JScript .NET">JScript .NET</a></li> <li><a href="/wiki/QtScript" title="QtScript">QtScript</a></li> <li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li> <li><a href="/wiki/WMLScript" title="WMLScript">WMLScript</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/List_of_ECMAScript_engines" title="List of ECMAScript engines">Engines</a><br />(comparison)</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Presto_(layout_engine)#JavaScript_engines" class="mw-redirect" title="Presto (layout engine)">Carakan</a></li> <li><a href="/wiki/Presto_(layout_engine)#JavaScript_engines" class="mw-redirect" title="Presto (layout engine)">Futhark</a></li> <li><a href="/wiki/InScript_(JavaScript_engine)" title="InScript (JavaScript engine)">InScript</a></li> <li><a href="/wiki/WebKit#JavaScriptCore" title="WebKit">JavaScriptCore</a></li> <li><a href="/wiki/JScript" title="JScript">JScript</a></li> <li><a href="/wiki/KJS_(software)" class="mw-redirect" title="KJS (software)">KJS</a></li> <li><a href="/wiki/Presto_(layout_engine)#ECMAScript_engines" class="mw-redirect" title="Presto (layout engine)">Linear B</a></li> <li><a href="/wiki/QtScript" title="QtScript">QtScript</a></li> <li><a href="/wiki/Rhino_(JavaScript_engine)" title="Rhino (JavaScript engine)">Rhino</a></li> <li><a href="/wiki/SpiderMonkey" title="SpiderMonkey">SpiderMonkey</a> <ul><li><a href="/wiki/SpiderMonkey#TraceMonkey" title="SpiderMonkey">TraceMonkey</a></li> <li><a href="/wiki/SpiderMonkey#JägerMonkey" title="SpiderMonkey">JägerMonkey</a></li></ul></li> <li><a href="/wiki/Tamarin_(software)" title="Tamarin (software)">Tamarin</a></li> <li><a href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8</a></li> <li><a href="/wiki/Chakra_(JavaScript_engine)" title="Chakra (JavaScript engine)">ChakraCore</a> <ul><li><a href="/wiki/Chakra_(JScript_engine)" title="Chakra (JScript engine)">Chakra</a></li></ul></li> <li><a href="/wiki/JScript_.NET" title="JScript .NET">JScript .NET</a></li> <li><a href="/wiki/Nashorn_(JavaScript_engine)" title="Nashorn (JavaScript engine)">Nashorn</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Software_framework" title="Software framework">Frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Client-side_JavaScript" class="mw-redirect" title="Client-side JavaScript">Client-side</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Dojo_Toolkit" title="Dojo Toolkit">Dojo</a></li> <li><a href="/wiki/Echo_(framework)" title="Echo (framework)">Echo</a></li> <li><a href="/wiki/Ext_JS" title="Ext JS">Ext JS</a></li> <li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">Google Web Toolkit</a></li> <li><a href="/wiki/JQuery" title="JQuery">jQuery</a></li> <li><a href="/wiki/Lively_Kernel" title="Lively Kernel">Lively Kernel</a></li> <li>midori</li> <li><a href="/wiki/MochiKit" title="MochiKit">MochiKit</a></li> <li><a href="/wiki/MooTools" title="MooTools">MooTools</a></li> <li><a href="/wiki/Prototype_JavaScript_Framework" title="Prototype JavaScript Framework">Prototype</a></li> <li><a href="/wiki/Pyjs" title="Pyjs">Pyjs</a></li> <li><a href="/wiki/Qooxdoo" title="Qooxdoo">qooxdoo</a></li> <li class="mw-empty-elt"></li> <li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a></li> <li><a href="/wiki/Spry_framework" title="Spry framework">Spry</a></li> <li>Wakanda Framework</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Server-side_JavaScript" class="mw-redirect" title="Server-side JavaScript">Server-side</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Node.js" title="Node.js">Node.js</a></li> <li><a href="/wiki/Deno_(software)" title="Deno (software)">Deno</a></li> <li><a href="/wiki/Bun_(software)" title="Bun (software)">Bun</a></li> <li><a href="/wiki/Jaxer#Aptana_Jaxer" class="mw-redirect" title="Jaxer">Jaxer</a></li> <li><a href="/wiki/AppJet" title="AppJet">AppJet</a></li> <li>WakandaDB</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Multiple</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>Cappuccino</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/JavaScript_library" title="JavaScript library">Libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Backbone.js" title="Backbone.js">Backbone.js</a></li> <li><a href="/wiki/SWFObject" title="SWFObject">SWFObject</a></li> <li><a href="/wiki/Underscore.js" title="Underscore.js">Underscore.js</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Brendan_Eich" title="Brendan Eich">Brendan Eich</a></li> <li><a href="/wiki/Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a></li> <li><a href="/wiki/John_Resig" title="John Resig">John Resig</a></li> <li>Scott Isaacs</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Dynamic_HTML" title="Dynamic HTML">DHTML</a></li> <li><a href="/wiki/Ecma_International" title="Ecma International">Ecma International</a></li> <li><a href="/wiki/JSDoc" title="JSDoc">JSDoc</a></li> <li><a href="/wiki/JSGI" title="JSGI">JSGI</a></li> <li><a href="/wiki/JSHint" title="JSHint">JSHint</a></li> <li><a href="/wiki/JSLint" title="JSLint">JSLint</a></li> <li><a href="/wiki/JSON" title="JSON">JSON</a></li> <li><a href="/wiki/JavaScript_Style_Sheets" title="JavaScript Style Sheets">JSSS</a></li> <li><a href="/wiki/Sputnik_(JavaScript_conformance_test)" title="Sputnik (JavaScript conformance test)">Sputnik</a></li> <li><a href="/wiki/Browser_speed_test#SunSpider" title="Browser speed test">SunSpider</a></li> <li><a href="/wiki/Asynchronous_module_definition" title="Asynchronous module definition">Asynchronous module definition</a></li> <li><a href="/wiki/CommonJS" title="CommonJS">CommonJS</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <dl><dt><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> Lists</dt> <dd><a href="/wiki/List_of_JavaScript_libraries" title="List of JavaScript libraries">JavaScript libraries</a></dd> <dd><a href="/wiki/List_of_Ajax_frameworks#JavaScript" title="List of Ajax frameworks">Ajax frameworks</a></dd> <dt><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> Comparisons</dt> <dd><a href="/wiki/Comparison_of_JavaScript_frameworks" class="mw-redirect" title="Comparison of JavaScript frameworks">JavaScript frameworks</a></dd> <dd><a href="/wiki/Comparison_of_server-side_JavaScript_solutions" class="mw-redirect" title="Comparison of server-side JavaScript solutions">server-side JavaScript</a></dd></dl> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Meta_Platforms99" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Meta_Platforms" title="Template:Meta Platforms"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Meta_Platforms" title="Template talk:Meta Platforms"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Meta_Platforms" title="Special:EditPage/Template:Meta Platforms"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Meta_Platforms99" style="font-size:114%;margin:0 4em"><a href="/wiki/Meta_Platforms" title="Meta Platforms">Meta Platforms</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Products<br />and services</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Facebook" title="Facebook">Facebook</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Facebook" title="Facebook">Service</a></li> <li><a href="/wiki/List_of_Facebook_features" title="List of Facebook features">Features</a></li> <li><a href="/wiki/Facebook_Beacon" title="Facebook Beacon">Beacon</a></li> <li><a href="/wiki/Facebook_Bluetooth_Beacon" title="Facebook Bluetooth Beacon">Bluetooth Beacon</a></li> <li><a href="/wiki/Facebook_Credits" title="Facebook Credits">Credits</a></li> <li><a href="/wiki/Facebook_Dating" title="Facebook Dating">Dating</a></li> <li><a href="/wiki/EdgeRank" title="EdgeRank">EdgeRank</a></li> <li><a href="/wiki/Feed_(Facebook)" title="Feed (Facebook)">Feed</a></li> <li><a href="/wiki/List_of_Facebook_features#Facebook_Gaming" title="List of Facebook features">Gaming</a></li> <li><a href="/wiki/Facebook_Graph_Search" title="Facebook Graph Search">Graph Search</a></li> <li><a href="/wiki/Facebook_Instant_Articles" title="Facebook Instant Articles">Instant Articles</a></li> <li><a href="/wiki/Facebook_like_button" title="Facebook like button">Like button</a></li> <li><a href="/wiki/List_of_Facebook_features#Live_streaming" title="List of Facebook features">Live</a></li> <li><a href="/wiki/Lookalike_audience" title="Lookalike audience">Lookalike audience</a></li> <li><a href="/wiki/Facebook_onion_address" title="Facebook onion address">Onion address</a></li> <li><a href="/wiki/Facebook_Platform" title="Facebook Platform">Platform</a> <ul><li><a href="/wiki/Facebook_Platform#Facebook_Connect" title="Facebook Platform">Connect</a></li></ul></li> <li><a href="/wiki/Facebook_Safety_Check" title="Facebook Safety Check">Safety Check</a></li> <li><a href="/wiki/Facebook_Stories" title="Facebook Stories">Stories</a></li> <li><a href="/wiki/Facebook_Watch" title="Facebook Watch">Watch</a> <ul><li><a href="/wiki/List_of_Facebook_Watch_original_programming" title="List of Facebook Watch original programming">list of original programs</a></li></ul></li> <li><a href="/wiki/Facebook_Zero" title="Facebook Zero">Zero</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Instagram" title="Instagram">Instagram</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Hyperlapse_(application)" title="Hyperlapse (application)">Hyperlapse</a></li> <li><a href="/wiki/IGTV" title="IGTV">IGTV</a></li> <li><a href="/wiki/List_of_most-followed_Instagram_accounts" title="List of most-followed Instagram accounts">List of most-followed accounts</a></li> <li><a href="/wiki/List_of_most-liked_Instagram_posts" title="List of most-liked Instagram posts">List of most-liked pictures</a></li> <li><a href="/wiki/Threads_(social_network)" title="Threads (social network)">Threads</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Meta_Portal" title="Meta Portal">Portal</a></li> <li><a href="/wiki/Meta_Quest" title="Meta Quest">Meta Quest</a> <ul><li><a href="/wiki/Oculus_Quest" title="Oculus Quest">Quest 1</a></li> <li><a href="/wiki/Quest_2" title="Quest 2">Quest 2</a></li> <li><a href="/wiki/Meta_Quest_3" title="Meta Quest 3">Quest 3</a></li> <li><a href="/wiki/Meta_Quest_Pro" title="Meta Quest Pro">Pro</a></li> <li><a href="/wiki/Oculus_Touch" title="Oculus Touch">Touch</a></li></ul></li> <li><a href="/wiki/Ray-Ban_Stories" class="mw-redirect" title="Ray-Ban Stories">Ray-Ban Stories</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Express_Wi-Fi" title="Express Wi-Fi">Express Wi-Fi</a></li> <li><a href="/wiki/Internet.org" title="Internet.org">Free Basics</a></li> <li><a href="/wiki/Messenger_(software)" title="Messenger (software)">Messenger</a> <ul><li><a href="/wiki/Messenger_Kids" title="Messenger Kids">Kids</a></li> <li><a href="/wiki/Messenger_(software)#Messenger_Rooms" title="Messenger (software)">Rooms</a></li></ul></li> <li><a href="/wiki/Mapillary" title="Mapillary">Mapillary</a></li> <li><a href="/wiki/Meta_AI" title="Meta AI">Meta AI</a></li> <li><a href="/wiki/Meta_Horizon_OS" title="Meta Horizon OS">Meta Horizon OS</a></li> <li><a href="/wiki/Within_(company)" title="Within (company)">Supernatural</a></li> <li><a href="/wiki/WhatsApp" title="WhatsApp">WhatsApp</a></li> <li><a href="/wiki/Workplace_(software)" title="Workplace (software)">Workplace</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Former</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Atlas_Solutions" title="Atlas Solutions">Atlas Solutions</a></li> <li><a href="/wiki/FriendFeed" title="FriendFeed">FriendFeed</a></li> <li><a href="/wiki/Giphy" title="Giphy">Giphy</a></li> <li><a href="/wiki/Facebook_Home" title="Facebook Home">Home</a> <ul><li><a href="/wiki/HTC_First" title="HTC First">HTC First</a></li></ul></li> <li><a href="/wiki/M_(virtual_assistant)" title="M (virtual assistant)">M</a></li> <li><a href="/wiki/Oculus_Go" title="Oculus Go">Oculus Go</a></li> <li><a href="/wiki/Oculus_Rift" title="Oculus Rift">Oculus Rift</a> <ul><li><a href="/wiki/Oculus_Rift_CV1" title="Oculus Rift CV1">CV1</a></li> <li><a href="/wiki/Oculus_Rift_S" title="Oculus Rift S">S</a></li></ul></li> <li><a href="/wiki/Onavo" title="Onavo">Onavo</a></li> <li><a href="/wiki/Facebook_Paper" title="Facebook Paper">Paper</a></li> <li><a href="/wiki/Facebook_Slingshot" title="Facebook Slingshot">Slingshot</a></li> <li><a href="/wiki/Tbh_(app)" class="mw-redirect" title="Tbh (app)">tbh</a></li> <li><a href="/wiki/Wirehog" title="Wirehog">Wirehog</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Founders</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Mark_Zuckerberg" title="Mark Zuckerberg">Mark Zuckerberg</a> (28% equity)</li> <li><a href="/wiki/Dustin_Moskovitz" title="Dustin Moskovitz">Dustin Moskovitz</a> (7%)</li> <li><a href="/wiki/Eduardo_Saverin" title="Eduardo Saverin">Eduardo Saverin</a> (<i>5%, formerly</i>)</li> <li><a href="/wiki/Chris_Hughes" title="Chris Hughes">Chris Hughes</a> (<i>1%, formerly</i>)</li> <li><a href="/wiki/Andrew_McCollum" title="Andrew McCollum">Andrew McCollum</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Board</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Mark_Zuckerberg" title="Mark Zuckerberg">Mark Zuckerberg</a></li> <li><a href="/wiki/Marc_Andreessen" title="Marc Andreessen">Marc Andreessen</a></li> <li><a href="/wiki/John_D._Arnold" title="John D. Arnold">John D. Arnold</a></li> <li><a href="/wiki/John_Elkann" title="John Elkann">John Elkann</a></li> <li><a href="/wiki/Drew_Houston" title="Drew Houston">Drew Houston</a></li> <li><a href="/wiki/Nancy_Killefer" title="Nancy Killefer">Nancy Killefer</a></li> <li><a href="/wiki/Robert_M._Kimmitt" title="Robert M. Kimmitt">Robert M. Kimmitt</a></li> <li><a href="/wiki/Hock_Tan" title="Hock Tan">Hock Tan</a></li> <li><a href="/wiki/Dana_White" title="Dana White">Dana White</a></li> <li><a href="/wiki/Tony_Xu" title="Tony Xu">Tony Xu</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Former</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Sheryl_Sandberg" title="Sheryl Sandberg">Sheryl Sandberg</a></li> <li><a href="/wiki/Peter_Thiel" title="Peter Thiel">Peter Thiel</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Executive<br />officers</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Mark_Zuckerberg" title="Mark Zuckerberg">Mark Zuckerberg</a> (Chairman and CEO)</li> <li><a href="/wiki/Javier_Olivan" title="Javier Olivan">Javier Olivan</a> (COO)</li> <li><a href="/wiki/Andrew_Bosworth" title="Andrew Bosworth">Andrew Bosworth</a> (CTO)</li> <li><a href="/wiki/Chris_Cox_(manager)" title="Chris Cox (manager)">Chris Cox</a> (CPO)</li> <li><a href="/wiki/Nick_Clegg" title="Nick Clegg">Nick Clegg</a> (President of Global Affairs)</li> <li><a href="/wiki/Jennifer_Gillian_Newstead" title="Jennifer Gillian Newstead">Jennifer Newstead</a> (Chief Legal Officer)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Former</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Sean_Parker" title="Sean Parker">Sean Parker</a> (<i>4%, formerly</i>)</li> <li><a href="/wiki/Owen_Van_Natta" title="Owen Van Natta">Owen Van Natta</a></li> <li><a href="/wiki/Gideon_Yu" title="Gideon Yu">Gideon Yu</a></li> <li><a href="/wiki/Adam_D%27Angelo" title="Adam D'Angelo">Adam D'Angelo</a></li> <li><a href="/wiki/Chris_Kelly_(entrepreneur)" title="Chris Kelly (entrepreneur)">Chris Kelly</a></li> <li><a href="/wiki/Bret_Taylor" title="Bret Taylor">Bret Taylor</a></li> <li><a href="/wiki/Sheryl_Sandberg" title="Sheryl Sandberg">Sheryl Sandberg</a></li> <li><a href="/wiki/Mike_Schroepfer" title="Mike Schroepfer">Mike Schroepfer</a></li> <li><a href="/wiki/David_Wehner" title="David Wehner">David Wehner</a></li> <li><a href="/wiki/David_Ebersman" title="David Ebersman">David Ebersman</a></li> <li><a href="/wiki/Marne_Levine" title="Marne Levine">Marne Levine</a></li> <li><a href="/wiki/Alex_Stamos" title="Alex Stamos">Alex Stamos</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Oversight_Board_(Meta)" title="Oversight Board (Meta)">Oversight<br />Board</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Members</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Catalina_Botero_Marino" title="Catalina Botero Marino">Catalina Botero Marino</a>, Co-Chair (2020–)</li> <li><a href="/wiki/Jamal_Greene" title="Jamal Greene">Jamal Greene</a>, Co-Chair (2020–)</li> <li><a href="/wiki/Michael_W._McConnell" title="Michael W. McConnell">Michael W. McConnell</a>, Co-Chair (2020–)</li> <li><a href="/wiki/Helle_Thorning-Schmidt" title="Helle Thorning-Schmidt">Helle Thorning-Schmidt</a>, Co-Chair (2020–)</li> <li><a href="/wiki/Afia_Asantewaa_Asare-Kyei" title="Afia Asantewaa Asare-Kyei">Afia Asantewaa Asare-Kyei</a> (2020–)</li> <li><a href="/wiki/Evelyn_Aswad" title="Evelyn Aswad">Evelyn Aswad</a> (2020–)</li> <li><a href="/wiki/Endy_Bayuni" title="Endy Bayuni">Endy Bayuni</a> (2020–)</li> <li><a href="/wiki/Katherine_Chen" title="Katherine Chen">Katherine Chen</a> (2020–)</li> <li><a href="/wiki/Nighat_Dad" title="Nighat Dad">Nighat Dad</a> (2020–)</li> <li><a href="/wiki/Tawakkol_Karman" title="Tawakkol Karman">Tawakkol Karman</a> (2020–)</li> <li><a href="/wiki/Maina_Kiai" title="Maina Kiai">Maina Kiai</a> (2020–)</li> <li><a href="/wiki/Sudhir_Krishnaswamy" title="Sudhir Krishnaswamy">Sudhir Krishnaswamy</a> (2020–)</li> <li><a href="/wiki/Ronaldo_Lemos" title="Ronaldo Lemos">Ronaldo Lemos</a> (2020–)</li> <li><a href="/wiki/Julie_Owono" title="Julie Owono">Julie Owono</a> (2020–)</li> <li><a href="/wiki/Emi_Palmor" title="Emi Palmor">Emi Palmor</a> (2020–)</li> <li><a href="/wiki/Alan_Rusbridger" title="Alan Rusbridger">Alan Rusbridger</a> (2020–)</li> <li><a href="/wiki/Andr%C3%A1s_Saj%C3%B3" title="András Sajó">András Sajó</a> (2020–)</li> <li><a href="/wiki/John_Samples" title="John Samples">John Samples</a> (2020–)</li> <li>Nicolas Suzor (2020–)</li> <li><a href="/wiki/Suzanne_Nossel" title="Suzanne Nossel">Suzanne Nossel</a> (2021–)</li> <li>Khaled Mansour (2022–)</li> <li>Pamela San Martin (2022–)</li> <li>Paolo Carozza (2022–)</li> <li><a href="/wiki/Kenji_Yoshino" title="Kenji Yoshino">Kenji Yoshino</a> (2023–)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Board of<br />Trustees</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Stephen_Neal_(lawyer)" title="Stephen Neal (lawyer)">Stephen Neal</a>, Chair (2021–)</li> <li>Kristina Arriaga (2020–)</li> <li>Cherine Chalaby (2020–)</li> <li>Wanda Felton (2020–)</li> <li><a href="/wiki/Kate_O%27Regan" title="Kate O'Regan">Kate O'Regan</a> (2020–)</li> <li><a href="/wiki/Robert_Post_(law_professor)" title="Robert Post (law professor)">Robert Post</a> (2020–)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Former<br />members</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Pamela_S._Karlan" title="Pamela S. Karlan">Pamela S. Karlan</a> (Board Member, 2020–2021)</li> <li><a href="/wiki/Paul_G._Haaga_Jr." title="Paul G. Haaga Jr.">Paul G. Haaga Jr.</a> (Board of Trustees Chair, 2020–2021)</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Notable<br />employees</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Lars_Rasmussen_(software_developer)" title="Lars Rasmussen (software developer)">Lars Rasmussen</a> (Graph Search director)</li> <li><a href="/wiki/Naomi_Gleit" title="Naomi Gleit">Naomi Gleit</a> (VP of social good)</li> <li><a href="/wiki/Nicola_Mendelsohn" title="Nicola Mendelsohn">Nicola Mendelsohn</a> (head of Global Business Group)</li> <li><a href="/wiki/Adam_Mosseri" title="Adam Mosseri">Adam Mosseri</a> (head of Instagram)</li> <li><a href="/wiki/Thomas_Reardon" title="Thomas Reardon">Thomas Reardon</a> (<a href="/wiki/Reality_Labs" title="Reality Labs">Reality Labs</a> director)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Former</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Blake_Ross" title="Blake Ross">Blake Ross</a> (Director of Product)</li> <li><a href="/wiki/Ted_Ullyot" title="Ted Ullyot">Ted Ullyot</a> (VP, General Counsel, and Secretary)</li> <li><a href="/wiki/Hugo_Barra" title="Hugo Barra">Hugo Barra</a> (VP of <a href="/wiki/Reality_Labs" title="Reality Labs">Reality Labs</a>)</li> <li><a href="/wiki/John_Carmack" title="John Carmack">John Carmack</a> (CTO of <a href="/wiki/Reality_Labs" title="Reality Labs">Reality Labs</a>)</li> <li><a href="/wiki/Matt_Cohler" title="Matt Cohler">Matt Cohler</a></li> <li><a href="/wiki/Charlie_Cheever" title="Charlie Cheever">Charlie Cheever</a></li> <li><a href="/wiki/Randi_Zuckerberg" title="Randi Zuckerberg">Randi Zuckerberg</a></li> <li><a href="/wiki/Yishan_Wong" title="Yishan Wong">Yishan Wong</a></li> <li><a href="/wiki/George_Hotz" title="George Hotz">George Hotz</a></li> <li><a href="/wiki/Joe_Lockhart" title="Joe Lockhart">Joe Lockhart</a></li> <li><a href="/wiki/Andrei_Alexandrescu" title="Andrei Alexandrescu">Andrei Alexandrescu</a> (research scientist)</li> <li><a href="/wiki/Chamath_Palihapitiya" title="Chamath Palihapitiya">Chamath Palihapitiya</a> (VP of User Growth)</li> <li><a href="/wiki/Elliot_Schrage" title="Elliot Schrage">Elliot Schrage</a> (VP of Global Communications, Marketing and Public Policy)</li> <li><a href="/wiki/Frances_Haugen" title="Frances Haugen">Frances Haugen</a> (Product Manager of Civic Integrity Team)</li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Open source</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_Cassandra" title="Apache Cassandra">Apache Cassandra</a></li> <li><a href="/wiki/Apache_Hive" title="Apache Hive">Apache Hive</a></li> <li><a href="/wiki/Apache_Thrift" title="Apache Thrift">Apache Thrift</a></li> <li><a href="/wiki/Buck_(software)" title="Buck (software)">Buck</a></li> <li><a href="/wiki/Facebook_Query_Language" title="Facebook Query Language">FQL</a></li> <li><a href="/wiki/Hack_(programming_language)" title="Hack (programming language)">Hack</a></li> <li><a href="/wiki/HHVM" title="HHVM">HHVM</a></li> <li><a href="/wiki/HipHop_for_PHP" title="HipHop for PHP">HipHop for PHP</a></li> <li><a href="/wiki/Infer_Static_Analyzer" title="Infer Static Analyzer">Infer</a></li> <li><a href="/wiki/MyRocks" title="MyRocks">MyRocks</a></li> <li><a href="/wiki/Open_Compute_Project" title="Open Compute Project">Open Compute Project</a></li> <li><a href="/wiki/Phabricator" title="Phabricator">Phabricator</a></li> <li><a class="mw-selflink selflink">React</a></li> <li><a href="/wiki/React_Native" title="React Native">React Native</a></li> <li><a href="/wiki/RocksDB" title="RocksDB">RocksDB</a></li> <li><a href="/wiki/Scribe_(log_server)" title="Scribe (log server)">Scribe</a></li> <li><a href="/wiki/Telecom_Infra_Project" title="Telecom Infra Project">Telecom Infra Project</a></li> <li><a href="/wiki/Tornado_(web_server)" title="Tornado (web server)">Tornado</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mass media</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/The_Facebook_Effect" title="The Facebook Effect">The Facebook Effect</a></i></li> <li><i><a href="/wiki/The_Accidental_Billionaires" title="The Accidental Billionaires">The Accidental Billionaires</a></i></li> <li><i><a href="/wiki/The_Social_Network" title="The Social Network">The Social Network</a></i></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Activity_stream" title="Activity stream">Activity stream</a></li> <li><a href="/wiki/Social_graph" title="Social graph">Social graph</a></li> <li><a href="/wiki/Friending_and_following" title="Friending and following">Friending and following</a></li> <li><a href="/wiki/Reblogging" title="Reblogging">Reblogging</a></li> <li><a href="/wiki/Fan-gating" title="Fan-gating">Fan-gating</a></li> <li><a href="/wiki/Digital_diplomacy#Facebook_diplomacy" title="Digital diplomacy">Facebook diplomacy</a></li> <li><a href="/wiki/Facebook_like_button" title="Facebook like button">Facebook like button</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Business</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/History_of_Facebook" title="History of Facebook">History of Facebook</a></li> <li><a href="/wiki/Timeline_of_Instagram" title="Timeline of Instagram">Timeline of Instagram</a></li> <li><a href="/wiki/Timeline_of_WhatsApp" title="Timeline of WhatsApp">Timeline of WhatsApp</a></li> <li><a href="/wiki/List_of_mergers_and_acquisitions_by_Meta_Platforms" title="List of mergers and acquisitions by Meta Platforms">Acquisitions</a></li> <li><a href="/wiki/Facebook_F8" title="Facebook F8">f8 conference</a></li> <li><a href="/wiki/Initial_public_offering_of_Facebook" title="Initial public offering of Facebook">IPO</a></li> <li><a href="/wiki/Censorship_of_Facebook" title="Censorship of Facebook">Censorship</a></li> <li><a href="/wiki/Criticism_of_Facebook" title="Criticism of Facebook">Criticism</a> <ul><li><a href="/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal" title="Facebook–Cambridge Analytica data scandal">Cambridge Analytica data scandal</a></li> <li><a href="/wiki/2020_Facebook_ad_boycotts" title="2020 Facebook ad boycotts">2020 ad boycotts</a></li> <li><a href="/wiki/2021_Facebook_leak" title="2021 Facebook leak">2021 company files leak</a></li> <li><a href="/wiki/Privacy_concerns_with_Facebook" title="Privacy concerns with Facebook">Privacy</a></li> <li><a href="/wiki/Facebook_content_management_controversies" title="Facebook content management controversies">Content management</a></li></ul></li> <li><a href="/wiki/Lawsuits_involving_Meta_Platforms" title="Lawsuits involving Meta Platforms">Litigation</a></li> <li><i><a href="/wiki/Young_v._Facebook,_Inc." title="Young v. Facebook, Inc.">Young v. Facebook, Inc.</a></i> (2011)</li> <li><i><a href="/wiki/Fraley_v._Facebook,_Inc." title="Fraley v. Facebook, Inc.">Fraley v. Facebook, Inc.</a></i> (2016)</li> <li><i><a href="/wiki/Force_v._Facebook,_Inc." title="Force v. Facebook, Inc.">Force v. Facebook, Inc.</a></i> (2019)</li> <li><i><a href="/wiki/Facebook,_Inc._v._Duguid" title="Facebook, Inc. v. Duguid">Facebook, Inc. v. Duguid</a></i> (2021)</li> <li><i><a href="/wiki/Federal_Trade_Commission_v._Meta_Platforms,_Inc." title="Federal Trade Commission v. Meta Platforms, Inc.">Federal Trade Commission v. Meta Platforms, Inc.</a></i> (ongoing)</li> <li><a href="/wiki/Meta_and_unions" title="Meta and unions">unionization</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Lists</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/List_of_most-followed_Facebook_pages" title="List of most-followed Facebook pages">Most-followed Facebook pages</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Priscilla_Chan" title="Priscilla Chan">Priscilla Chan</a> (wife of Mark Zuckerberg)</li> <li><a href="/wiki/Chan_Zuckerberg_Initiative" title="Chan Zuckerberg Initiative">Chan Zuckerberg Initiative</a></li> <li><a href="/wiki/Facebook_Aquila" title="Facebook Aquila">Aquila Internet relay drone</a></li> <li><a href="/wiki/Willow_Village" title="Willow Village">Willow Village</a></li> <li><a href="/wiki/WaveGroup_Sound" title="WaveGroup Sound">WaveGroup Sound</a></li> <li><a href="/wiki/2021_Facebook_outage" title="2021 Facebook outage">2021 Facebook outage</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox authority-control" aria-label="Navbox393" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q19399674#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/1106873289">Germany</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐api‐ext.codfw.main‐cf5fb8978‐n6f8f Cached time: 20250224215725 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.563 seconds Real time usage: 2.113 seconds Preprocessor visited node count: 12609/1000000 Post‐expand include size: 326963/2097152 bytes Template argument size: 17265/2097152 bytes Highest expansion depth: 26/100 Expensive parser function count: 17/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 323546/5000000 bytes Lua time usage: 1.055/10.000 seconds Lua memory usage: 22540109/52428800 bytes Lua Profile: ? 340 ms 28.8% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::callParserFunction 160 ms 13.6% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::getEntity 140 ms 11.9% recursiveClone <mwInit.lua:45> 100 ms 8.5% dataWrapper <mw.lua:672> 60 ms 5.1% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::getEntityStatements 60 ms 5.1% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::gsub 40 ms 3.4% (for generator) 40 ms 3.4% init <Module:Citation/CS1/Identifiers> 40 ms 3.4% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::loadPackage 40 ms 3.4% [others] 160 ms 13.6% Number of Wikibase entities loaded: 4/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1873.647 1 -total 33.38% 625.406 3 Template:Infobox 29.78% 557.985 1 Template:Infobox_software 20.75% 388.720 5 Template:Wikidata 18.30% 342.966 1 Template:Infobox_software/stacked 17.73% 332.128 2 Template:Reflist 16.38% 306.872 7 Template:Code 13.98% 261.913 66 Template:Cite_web 6.86% 128.509 11 Template:Navbox 5.63% 105.428 22 Template:Sfn --> <!-- Saved in parser cache with key enwiki:pcache:44926137:|#|:idhash:canonical and timestamp 20250224215725 and revision id 1276566115. Rendering was triggered because: unknown --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=React_(software)&oldid=1276566115">https://en.wikipedia.org/w/index.php?title=React_(software)&oldid=1276566115</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:2015_software" title="Category:2015 software">2015 software</a></li><li><a href="/wiki/Category:Ajax_(programming)" title="Category:Ajax (programming)">Ajax (programming)</a></li><li><a href="/wiki/Category:Facebook_software" title="Category:Facebook software">Facebook software</a></li><li><a href="/wiki/Category:JavaScript_libraries" title="Category:JavaScript libraries">JavaScript libraries</a></li><li><a href="/wiki/Category:Software_using_the_MIT_license" title="Category:Software using the MIT license">Software using the MIT license</a></li><li><a href="/wiki/Category:Web_applications" title="Category:Web applications">Web applications</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_May_2024" title="Category:Articles needing additional references from May 2024">Articles needing additional references from May 2024</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:Articles_with_self-published_sources_from_May_2024" title="Category:Articles with self-published sources from May 2024">Articles with self-published sources from May 2024</a></li><li><a href="/wiki/Category:All_articles_with_self-published_sources" title="Category:All articles with self-published sources">All articles with self-published sources</a></li><li><a href="/wiki/Category:Articles_with_multiple_maintenance_issues" title="Category:Articles with multiple maintenance issues">Articles with multiple maintenance issues</a></li><li><a href="/wiki/Category:Wikipedia_articles_in_need_of_updating_from_June_2018" title="Category:Wikipedia articles in need of updating from June 2018">Wikipedia articles in need of updating from June 2018</a></li><li><a href="/wiki/Category:All_Wikipedia_articles_in_need_of_updating" title="Category:All Wikipedia articles in need of updating">All Wikipedia articles in need of updating</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 19 February 2025, at 16:05<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=React_(software)&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">React (software)</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>42 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-55f85cbc4-rp2wj","wgBackendResponseTime":124,"wgPageParseReport":{"limitreport":{"cputime":"1.563","walltime":"2.113","ppvisitednodes":{"value":12609,"limit":1000000},"postexpandincludesize":{"value":326963,"limit":2097152},"templateargumentsize":{"value":17265,"limit":2097152},"expansiondepth":{"value":26,"limit":100},"expensivefunctioncount":{"value":17,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":323546,"limit":5000000},"entityaccesscount":{"value":4,"limit":400},"timingprofile":["100.00% 1873.647 1 -total"," 33.38% 625.406 3 Template:Infobox"," 29.78% 557.985 1 Template:Infobox_software"," 20.75% 388.720 5 Template:Wikidata"," 18.30% 342.966 1 Template:Infobox_software/stacked"," 17.73% 332.128 2 Template:Reflist"," 16.38% 306.872 7 Template:Code"," 13.98% 261.913 66 Template:Cite_web"," 6.86% 128.509 11 Template:Navbox"," 5.63% 105.428 22 Template:Sfn"]},"scribunto":{"limitreport-timeusage":{"value":"1.055","limit":"10.000"},"limitreport-memusage":{"value":22540109,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFAbramov\"] = 1,\n [\"CITEREFAbramovTanSavonaMarkbåge2020\"] = 1,\n [\"CITEREFAggarwal2018\"] = 1,\n [\"CITEREFChourasia2023\"] = 1,\n [\"CITEREFClark2017\"] = 1,\n [\"CITEREFDawson2014\"] = 1,\n [\"CITEREFDere2017\"] = 1,\n [\"CITEREFHemel2013\"] = 1,\n [\"CITEREFHunt2013\"] = 1,\n [\"CITEREFHunzaker2017\"] = 1,\n [\"CITEREFHámori2022\"] = 1,\n [\"CITEREFJohnson\"] = 1,\n [\"CITEREFKrill2014\"] = 1,\n [\"CITEREFLardinois2017\"] = 1,\n [\"CITEREFLarsen2021\"] = 1,\n [\"CITEREFLiu\"] = 1,\n [\"CITEREFLopez2024\"] = 1,\n [\"CITEREFLybrand2024\"] = 1,\n [\"CITEREFOcchinoWalke2013\"] = 1,\n [\"CITEREFPanchal2022\"] = 1,\n [\"CITEREFSchwarzmüller2018\"] = 1,\n [\"CITEREFUzayrCloudAmbler2019\"] = 1,\n [\"CITEREFWieruch2020\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Authority control\"] = 1,\n [\"Cite book\"] = 6,\n [\"Cite news\"] = 4,\n [\"Cite web\"] = 66,\n [\"Code\"] = 7,\n [\"ECMAScript\"] = 1,\n [\"Efn\"] = 1,\n [\"Facebook navbox\"] = 1,\n [\"For\"] = 1,\n [\"Infobox software\"] = 1,\n [\"JS templating\"] = 1,\n [\"Main\"] = 1,\n [\"Mono\"] = 1,\n [\"More citations needed\"] = 1,\n [\"Mset\"] = 1,\n [\"Multiple issues\"] = 1,\n [\"Notelist\"] = 1,\n [\"Official website\"] = 1,\n [\"Portal\"] = 1,\n [\"Ref\"] = 2,\n [\"Refbegin\"] = 1,\n [\"Refend\"] = 1,\n [\"Reflist\"] = 1,\n [\"Rp\"] = 18,\n [\"Self-published\"] = 1,\n [\"Sfn\"] = 22,\n [\"Short description\"] = 1,\n [\"Start date and age\"] = 3,\n [\"Tag\"] = 7,\n [\"Unreferenced section\"] = 1,\n [\"Update inline\"] = 1,\n [\"Web frameworks\"] = 1,\n [\"Webarchive\"] = 1,\n [\"Wikidata\"] = 2,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n","limitreport-profile":[["?","340","28.8"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::callParserFunction","160","13.6"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::getEntity","140","11.9"],["recursiveClone \u003CmwInit.lua:45\u003E","100","8.5"],["dataWrapper \u003Cmw.lua:672\u003E","60","5.1"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::getEntityStatements","60","5.1"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::gsub","40","3.4"],["(for generator)","40","3.4"],["init \u003CModule:Citation/CS1/Identifiers\u003E","40","3.4"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::loadPackage","40","3.4"],["[others]","160","13.6"]]},"cachereport":{"origin":"mw-api-ext.codfw.main-cf5fb8978-n6f8f","timestamp":"20250224215725","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"React (software)","url":"https:\/\/en.wikipedia.org\/wiki\/React_(software)","sameAs":"http:\/\/www.wikidata.org\/entity\/Q19399674","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q19399674","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2015-01-02T20:10:56Z","dateModified":"2025-02-19T16:05:51Z","headline":"JavaScript library for building user interfaces"}</script> </body> </html>