Reagovat | |
---|---|
Typ | bezplatný a open source software , webový rámec , knihovna funkcí a knihovna JavaScript |
Autor | Jordan Walke _ _ |
Vývojář | Meta Platforms , Jordan Walke [d] , Sebastian Markbåge [d] , Daniil Abramov [d] , Rachel Nabors [d] a Andrew Clark |
Zapsáno v | JavaScript |
Operační systém | multiplatformní |
První vydání | 29. května 2013 |
Nejnovější verze |
|
Stát | Relevantní |
Licence | licence MIT [2] [3] |
webová stránka |
reactjs.org ( anglicky) ar.reactjs.org ( Ar) ru.reactjs.org ( ruština) |
React (někdy React.js nebo ReactJS ) je open source JavaScript knihovna [ 4 ] pro vývoj uživatelských rozhraní .
React je vyvíjen a udržován Facebookem , Instagramem a komunitou jednotlivých vývojářů a korporací [5] [6] [7] .
React lze použít k vývoji jednostránkových a mobilních aplikací. Jeho cílem je poskytovat vysokou rychlost vývoje, jednoduchost a škálovatelnost . Jako knihovna pro vývoj uživatelských rozhraní se React často používá s jinými knihovnami, jako je MobX, Redux a GraphQL .
React vytvořil Jordan Valke, softwarový inženýr na Facebooku. Byl ovlivněn XHP , komponentovým HTML frameworkem pro PHP [8] . React byl poprvé použit v news feedu na Facebooku v roce 2011 a později ve feedu na Instagramu v roce 2012 [9] . Zdrojový kód Reactu byl otevřen v květnu 2013 na konferenci JSConf v USA.
React Native byl oznámen na facebookové konferenci „React.js Conf“ v únoru 2015 a zdrojový kód byl zveřejněn v březnu 2015 . Umožňuje vám vyvíjet nativní aplikace pro Android , iOS a UWP pomocí React.
18. dubna 2017 Facebook oznámil React Fiber , přepsanou a optimalizovanou verzi React [10] . React Fiber bude základem pro vývoj všech budoucích funkcí a vylepšení [11] .
Níže je uveden příklad použití React v HTML s JSX a JavaScriptem.
< div id = "myReactApp" ></ div > < script type = "text/babel" > class Greeter rozšiřuje React . Komponenta { render () { return < h1 > { this . rekvizity . pozdrav } < /h1> } } ReactDOM . render ( < Greeter greeting = "Ahoj světe!" /> , document . getElementById ( 'myReactApp' )); </ skript >Třída Greeter je komponenta React, která přijímá greeting. Metoda ReactDOM.rendervykreslí instanci třídy (komponenty) Greeterse greetingstejnou vlastností "Hello World"a vloží vykreslenou komponentu do prvku DOM s identifikátorem myReactAppjako vnořeným prvkem.
Při zobrazení ve webovém prohlížeči bude výsledek:
< div id = "myReactApp" > < h1 > Ahoj světe! </ h1 > </ div >Vlastnosti se předávají z nadřazených komponent na podřízené komponenty. Komponenty přijímají vlastnosti jako sadu neměnných hodnot , takže komponenta nemůže měnit vlastnosti přímo, ale může vyvolat změny prostřednictvím funkcí zpětného volání . Tento mechanismus se nazývá „vlastnosti dolů, události nahoru“.
React používá virtuální DOM ( virtuální DOM ) . React vytváří strukturu mezipaměti v paměti , která mu umožňuje vypočítat rozdíl mezi předchozím a současným stavem rozhraní, aby optimálně aktualizoval DOM prohlížeče. Programátor tedy může pracovat se stránkou za předpokladu, že je aktualizována celá, ale knihovna sama rozhoduje o tom, které součásti stránky je třeba aktualizovat.
React se často používá ve spojení s Redux pro správu stavů komponent.
JavaScript XML (JSX) je rozšíření syntaxe JavaScriptu, které vám umožňuje používat syntaxi podobnou HTML k popisu struktury rozhraní. Komponenty jsou zpravidla psány pomocí JSX, ale je možné použít i prostý JavaScript [12] . JSX připomíná jiný jazyk vytvořený Facebookem pro rozšíření PHP, XHP .
Metody životního cyklu umožňují vývojáři spouštět kód v různých fázích životního cyklu komponenty. Například:
React se používá k více než pouhému vykreslování HTML v prohlížeči. Například Facebook má dynamické grafy, které se vykreslují ve formátu <canvas>. Netflix a PayPal používají izomorfní stahování k vykreslení identického HTML na serveru a klientovi.
Háky umožňují používat stav a další funkce Reactu bez psaní tříd [13] .
Vytváření vlastních háčků umožňuje vložit logiku komponent do opakovaně použitelných funkcí. [14] .
JavaScript | |
---|---|
Nápady | |
Kompilátory | |
Motory | |
Knihovny a rámce | |
redaktoři | |
Nástroje |
|
Související technologie | |
Lidé | |
Kategorie |