Reagere | |
---|---|
Type | gratis og open source-software , web-framework , funktionsbibliotek og JavaScript-bibliotek |
Forfatter | Jordan Walke _ _ |
Udvikler | Meta Platforms , Jordan Walke [d] , Sebastian Markbåge [d] , Daniil Abramov [d] , Rachel Nabors [d] og Andrew Clark |
Skrevet i | JavaScript |
Operativ system | på tværs af platforme |
Første udgave | 29. maj 2013 |
nyeste version | |
Stat | Relevant |
Licens | MIT-licens [2] [3] |
Internet side |
reactjs.org ( engelsk) ar.reactjs.org ( Ar) ru.reactjs.org ( russisk) |
React (nogle gange React.js eller ReactJS ) er et open source JavaScript - bibliotek [4] til udvikling af brugergrænseflader .
React er udviklet og vedligeholdt af Facebook , Instagram og et fællesskab af individuelle udviklere og virksomheder [5] [6] [7] .
React kan bruges til at udvikle enkeltside- og mobilapplikationer. Dens mål er at give høj udviklingshastighed, enkelhed og skalerbarhed . Som et bibliotek til udvikling af brugergrænseflader bruges React ofte sammen med andre biblioteker såsom MobX, Redux og GraphQL .
React blev skabt af Jordan Valke, en softwareingeniør hos Facebook. Han var påvirket af XHP , en komponentbaseret HTML- ramme til PHP [8] . React blev første gang brugt i Facebook-nyhedsfeedet i 2011 og senere i Instagram-feedet i 2012 [9] . React-kildekoden blev åbnet i maj 2013 på JSConf US-konferencen.
React Native blev annonceret på Facebooks "React.js Conf" i februar 2015 , og kildekoden blev frigivet i marts 2015 . Det giver dig mulighed for at udvikle native Android- , iOS- og UWP- applikationer ved hjælp af React.
Den 18. april 2017 annoncerede Facebook React Fiber , en omskrevet og optimeret version af React [10] . React Fiber vil være grundlaget for udviklingen af alle fremtidige funktioner og forbedringer [11] .
Nedenfor er et eksempel på brug af React i HTML med JSX og JavaScript.
< div id = "myReactApp" ></ div > < script type = "text/babel" > klasse Greeter forlænger React . Komponent { render () { return < h1 > { this . rekvisitter . hilsen } < /h1> } } ReactDOM . render ( < Greeter greeting = "Hello World!" /> , document . getElementById ( 'myReactApp' )); </ script >En klasse Greeter er en React-komponent, der accepterer en greeting. Metoden ReactDOM.rendergengiver en forekomst af klassen (komponenten) Greetermed egenskaben greetinglig "Hello World"og indsætter den gengivne komponent i DOM-elementet med identifikatoren myReactAppsom et indlejret element.
Når det vises i en webbrowser, vil resultatet være:
< div id = "myReactApp" > < h1 > Hej verden! </ h1 > </ div >Egenskaber overføres fra overordnede komponenter til underordnede komponenter. Komponenter modtager egenskaber som et sæt af uforanderlige værdier , så komponenten kan ikke ændre egenskaber direkte, men kan påkalde ændringer gennem tilbagekaldsfunktioner . Denne mekanisme kaldes "egenskaber ned, hændelser op".
React bruger en virtuel DOM ( virtuel DOM ) . React opretter en cache - struktur i hukommelsen, der gør det muligt at beregne forskellen mellem den tidligere og nuværende tilstand af grænsefladen for optimalt at opdatere browserens DOM. Programmøren kan således arbejde med siden, forudsat at den er fuldstændig opdateret, men biblioteket bestemmer selv, hvilke komponenter på siden der skal opdateres.
React bruges ofte sammen med Redux til at styre komponenttilstande.
JavaScript XML (JSX) er en JavaScript-syntaksudvidelse, der giver dig mulighed for at bruge en HTML-lignende syntaks til at beskrive strukturen af en grænseflade. Som regel skrives komponenter ved hjælp af JSX, men det er også muligt at bruge almindeligt JavaScript [12] . JSX ligner et andet sprog oprettet af Facebook til PHP-udvidelsen, XHP .
Livscyklusmetoder giver en udvikler mulighed for at køre kode på forskellige stadier af en komponents livscyklus. For eksempel:
React bruges til mere end blot at gengive HTML i browseren. For eksempel har Facebook dynamiske diagrammer, der gengives i <canvas>. Netflix og PayPal bruger isomorfe downloads til at gengive identisk HTML på serveren og klienten.
Hooks giver dig mulighed for at bruge tilstand og andre React-funktioner uden at skrive klasser [13] .
At bygge brugerdefinerede kroge giver dig mulighed for at sætte komponentlogik i genanvendelige funktioner. [14] .
JavaScript | |
---|---|
Ideer | |
Kompilere | |
Motorer | |
Biblioteker og rammer | |
Redaktører | |
Værktøjer |
|
Relaterede teknologier | |
Mennesker | |
Kategori |