Reagoi | |
---|---|
Tyyppi | ilmainen ja avoimen lähdekoodin ohjelmisto , verkkokehys , funktiokirjasto ja JavaScript-kirjasto |
Tekijä | Jordan Walke _ _ |
Kehittäjä | Meta Platforms , Jordan Walke [d] , Sebastian Markbåge [d] , Daniil Abramov [d] , Rachel Nabors [d] ja Andrew Clark |
Sisään kirjoitettu | JavaScript |
Käyttöjärjestelmä | cross-platform |
Ensimmäinen painos | 29. toukokuuta 2013 |
uusin versio |
|
Osavaltio | Asiaankuuluva |
Lisenssi | MIT-lisenssi [2] [3] |
Verkkosivusto |
reactjs.org ( englanti) ar.reactjs.org ( Ar) ru.reactjs.org ( venäjä) |
React (joskus React.js tai ReactJS ) on avoimen lähdekoodin JavaScript - kirjasto [4 ] käyttöliittymien kehittämiseen .
Reactin kehittävät ja ylläpitävät Facebook , Instagram sekä yksittäisten kehittäjien ja yritysten yhteisö [5] [6] [7] .
Reactilla voidaan kehittää yksisivuisia ja mobiilisovelluksia. Sen tavoitteena on tarjota korkea kehitysnopeus, yksinkertaisuus ja skaalautuvuus . Käyttöliittymien kehittämisen kirjastona Reactia käytetään usein muiden kirjastojen, kuten MobX, Redux ja GraphQL , kanssa .
Reactin on luonut Facebookin ohjelmistosuunnittelija Jordan Valke. Häneen vaikutti XHP , komponenttipohjainen HTML -kehys PHP :lle [8] . Reactia käytettiin ensimmäisen kerran Facebookin uutissyötteessä vuonna 2011 ja myöhemmin Instagramin syötteessä vuonna 2012 [9] . Reactin lähdekoodi avattiin toukokuussa 2013 JSConf US -konferenssissa.
React Native julkistettiin Facebookin "React.js Conf" -tapahtumassa helmikuussa 2015 , ja lähdekoodi julkaistiin maaliskuussa 2015 . Sen avulla voit kehittää alkuperäisiä Android- , iOS- ja UWP - sovelluksia Reactin avulla.
Facebook julkisti 18. huhtikuuta 2017 React Fiberin , Reactin uudelleenkirjoitetun ja optimoidun version [10] . React Fiber tulee olemaan kaikkien tulevien ominaisuuksien ja parannusten kehittämisen perusta [11] .
Alla on esimerkki Reactin käyttämisestä HTML:ssä JSX:n ja JavaScriptin kanssa.
< div id = "myReactApp" ></ div > < script type = "text/babel" > class Greeter laajentaa React . Komponentti { render () { return < h1 > { this . rekvisiitta . tervehdys } < /h1> } } ReactDOM . renderöi ( < Greeter greeting = "Hei maailma!" /> , dokumentti . getElementById ( 'myReactApp' )); </ script >Luokka Greeter on React-komponentti, joka hyväksyy greeting. Menetelmä ReactDOM.rendertekee luokan (komponentin) esiintymän, Greeterjonka ominaisuus on greetingyhtä suuri , "Hello World"ja lisää renderoidun komponentin DOM-elementtiin tunnisteella myReactAppsisäkkäisenä elementtinä.
Kun se näytetään verkkoselaimessa, tulos on:
< div id = "myReactApp" > < h1 > Hei maailma! </ h1 > </ div >Ominaisuudet välitetään yläkomponenteista alikomponentteihin. Komponentit saavat ominaisuuksia muuttumattomina arvoina , joten komponentti ei voi muuttaa ominaisuuksia suoraan, vaan se voi kutsua muutoksia takaisinsoittofunktioiden kautta . Tätä mekanismia kutsutaan "ominaisuudet alas, tapahtumat ylös".
React käyttää virtuaalista DOM :ia ( virtuaalinen DOM ) . React luo muistissa olevan välimuistirakenteen , jonka avulla se voi laskea käyttöliittymän edellisen ja nykyisen tilan välisen eron selaimen DOM:n päivittämiseksi optimaalisesti. Ohjelmoija voi siis työskennellä sivun kanssa olettaen, että se päivitetään kokonaan, mutta kirjasto päättää itse, mitkä sivun komponentit on päivitettävä.
Reactia käytetään usein yhdessä Reduxin kanssa komponenttitilojen hallintaan.
JavaScript XML (JSX) on JavaScript-syntaksilaajennus, jonka avulla voit käyttää HTML:n kaltaista syntaksia kuvaamaan käyttöliittymän rakennetta. Komponentit kirjoitetaan pääsääntöisesti JSX:llä, mutta on myös mahdollista käyttää tavallista JavaScriptiä [12] . JSX muistuttaa toista kieltä, jonka Facebook on luonut PHP-laajennukselle, XHP .
Elinkaarimenetelmien avulla kehittäjä voi ajaa koodia komponentin elinkaaren eri vaiheissa. Esimerkiksi:
Reactia käytetään muuhunkin kuin vain HTML:n hahmontamiseen selaimessa. Esimerkiksi Facebookissa on dynaamisia kaavioita, jotka hahmonnetaan <canvas>. Netflix ja PayPal käyttävät isomorfisia latauksia identtisen HTML-koodin tekemiseen palvelimella ja asiakkaalla.
Koukkujen avulla voit käyttää tila- ja muita React-ominaisuuksia kirjoittamatta luokkia [13] .
Mukautettujen koukkujen luominen mahdollistaa komponenttilogiikan lisäämisen uudelleenkäytettäviin toimintoihin. [14] .
JavaScript | |
---|---|
Ideoita | |
Kääntäjät | |
Moottorit | |
Kirjastot ja puitteet | |
Toimittajat | |
Työkalut |
|
Liittyvät tekniikat | |
Ihmiset | |
Kategoria |