Reagera | |
---|---|
Sorts | fri och öppen källkodsprogramvara , webbramverk , funktionsbibliotek och JavaScript-bibliotek |
Författare | Jordan Walke _ _ |
Utvecklaren | Meta Platforms , Jordan Walke [d] , Sebastian Markbåge [d] , Daniil Abramov [d] , Rachel Nabors [d] och Andrew Clark |
Skrivet i | JavaScript |
Operativ system | plattformsoberoende |
Första upplagan | 29 maj 2013 |
senaste versionen | |
stat | Relevant |
Licens | MIT-licens [2] [3] |
Hemsida |
reactjs.org ( engelska) ar.reactjs.org ( Ar) ru.reactjs.org ( ryska) |
React (ibland React.js eller ReactJS ) är ett JavaScript- bibliotek med öppen källkod [4] för att utveckla användargränssnitt .
React utvecklas och underhålls av Facebook , Instagram och en gemenskap av enskilda utvecklare och företag [5] [6] [7] .
React kan användas för att utveckla ensidiga och mobila applikationer. Dess mål är att tillhandahålla hög utvecklingshastighet, enkelhet och skalbarhet . Som ett bibliotek för att utveckla användargränssnitt används React ofta med andra bibliotek som MobX, Redux och GraphQL .
React skapades av Jordan Valke, en mjukvaruingenjör på Facebook. Han var influerad av XHP , ett komponentbaserat HTML - ramverk för PHP [8] . React användes först i Facebooks nyhetsflöde 2011 och senare i Instagram-flödet 2012 [9] . React-källkoden öppnades i maj 2013 vid JSConf US-konferensen.
React Native tillkännagavs på Facebooks "React.js Conf" i februari 2015 och källkoden släpptes i mars 2015 . Det låter dig utveckla inbyggda Android- , iOS- och UWP- applikationer med hjälp av React.
Den 18 april 2017 tillkännagav Facebook React Fiber , en omskriven och optimerad version av React [10] . React Fiber kommer att ligga till grund för utvecklingen av alla framtida funktioner och förbättringar [11] .
Nedan är ett exempel med React i HTML med JSX och JavaScript.
< div id = "myReactApp" ></ div > < script type = "text/babel" > klass Greeter utökar React . Komponent { render () { return < h1 > { this . rekvisita . hälsning } < /h1> } } ReactDOM . render ( < Greeter greeting = "Hello World!" /> , document . getElementById ( 'myReactApp' )); </ script >En klass Greeter är en React-komponent som accepterar en greeting. Metoden ReactDOM.renderrenderar en instans av klassen (komponenten) Greetermed egenskapen greetinglika "Hello World"och infogar den renderade komponenten i DOM-elementet med identifieraren myReactAppsom ett kapslat element.
När det visas i en webbläsare blir resultatet:
< div id = "myReactApp" > < h1 > Hej världen! </ h1 > </ div >Egenskaper överförs från överordnade komponenter till underordnade komponenter. Komponenter får egenskaper som en uppsättning oföränderliga värden , så komponenten kan inte ändra egenskaper direkt, utan kan anropa ändringar genom återuppringningsfunktioner . Denna mekanism kallas "egenskaper ner, händelser upp".
React använder en virtuell DOM ( virtuell DOM ) . React skapar en cachestruktur i minnet som gör att den kan beräkna skillnaden mellan gränssnittets tidigare och nuvarande tillstånd för att optimalt uppdatera webbläsarens DOM. Således kan programmeraren arbeta med sidan, förutsatt att den är helt uppdaterad, men biblioteket bestämmer på egen hand vilka komponenter på sidan som behöver uppdateras.
React används ofta tillsammans med Redux för att hantera komponenttillstånd.
JavaScript XML (JSX) är ett JavaScript-syntaxtillägg som låter dig använda en HTML-liknande syntax för att beskriva strukturen för ett gränssnitt. Som regel skrivs komponenter med JSX, men det är också möjligt att använda vanlig JavaScript [12] . JSX liknar ett annat språk skapat av Facebook för PHP-tillägget, XHP .
Livscykelmetoder tillåter en utvecklare att köra kod i olika skeden av en komponents livscykel. Till exempel:
React används för mer än att bara rendera HTML i webbläsaren. Till exempel har Facebook dynamiska diagram som återges i <canvas>. Netflix och PayPal använder isomorfa nedladdningar för att återge identisk HTML på servern och klienten.
Hooks låter dig använda tillstånd och andra React-funktioner utan att skriva klasser [13] .
Att bygga anpassade krokar gör att du kan sätta in komponentlogik i återanvändbara funktioner. [14] .
JavaScript | |
---|---|
Idéer | |
Kompilatorer | |
Motorer | |
Bibliotek och ramar | |
Redaktörer | |
Verktyg |
|
Relaterade tekniker | |
människor | |
Kategori |