Reagointitermien sanasto
Yhden sivun sovellus
Yksisivuinen sovellus on sovellus, joka lataa yhden HTML-sivun ja kaikki tarvittavat resurssit (kuten JavaScript ja CSS), joita tarvitaan sovelluksen suorittamiseen. Vuorovaikutukset sivun tai sitä seuraavien sivujen kanssa eivät vaadi paluumatkaa palvelimelle, mikä tarkoittaa, että sivua ei ladata uudelleen.
Vaikka voit rakentaa yhden sivun sovelluksen Reactiin, se ei ole vaatimus. Reactia voidaan käyttää myös parantamaan olemassa olevien verkkosivustojen pieniä osia lisäämällä vuorovaikutteisuutta. React-ohjelmassa kirjoitettu koodi voi olla rauhassa rinnakkain PHP: n kaltaisella palvelimella renderoidun merkinnän kanssa tai muiden asiakaspuolen kirjastojen kanssa. Itse asiassa Reactia käytetään juuri näin Facebookissa.
ES6, ES2015, ES2016 jne.
Kaikki nämä lyhenteet viittaavat ECMAScript Language Specification -standardin uusimpiin versioihin, jonka JavaScript-kieli on toteutettu. ES6-versio (tunnetaan myös nimellä ES2015) sisältää monia lisäyksiä aiempiin versioihin, kuten nuolitoiminnot, luokat, mallilitraalit,let
jaconst
-lausekkeet. Lisätietoja tietyistä versioistaon täällä.
Koostajat
JavaScript-kääntäjä ottaa JavaScript-koodin, muuntaa sen ja palauttaa JavaScript-koodin eri muodossa. Yleisin käyttötapaus on ES6-syntaksin ottaminen ja sen muuttaminen syntaksiksi, jonka vanhemmat selaimet pystyvät tulkitsemaan.Babelon kääntäjä, jota käytetään yleisimmin Reactin kanssa.
Niputtimet
Pakkaajat ottavat JavaScript- ja CSS-koodin, jotka on kirjoitettu erillisiksi moduuleiksi (usein satoja), ja yhdistävät ne yhteen muutamaan selaimille paremmin optimoituun tiedostoon. Joitakin React-sovelluksissa yleisesti käytettyjä nippuja ovatWebpackjaSelainvahvistus.
Pakettien ylläpitäjät
Pakettien hallinta on työkalu, jonka avulla voit hallita riippuvuuksia projektissasi.npmjaLankaovat kaksi React-sovelluksissa yleisesti käytettyä paketinhallintaohjelmaa. Molemmat ovat saman npm-pakettirekisterin asiakkaita.
CDN
CDN on lyhenne sanoista Content Delivery Network. CDN: t toimittavat välimuistissa olevaa, staattista sisältöä palvelinverkosta ympäri maailmaa.
JSX
JSX on JavaScriptin syntaksilaajennus. Se on samanlainen kuin mallikieli, mutta sillä on täysi JavaScript-teho. JSX kääntyyReact.createElement()
puheluihin, jotka palauttavat tavalliset JavaScript-objektit, joita kutsutaan "React elements". Saat JSX: nperustiedot tutustumalla täältä oleviin asiakirjoihinja täältäperusteellisempaan oppaaseen JSX: stä.
React DOM käyttää camelCase-ominaisuuden nimeämiskäytäntöä HTML-attribuuttien nimien sijaan. Esimerkiksitabindex
tuleetabIndex
JSX: ssä. Attribuutticlass
kirjoitetaan myös nimelläclassName
, koskaclass
on varattu sana JavaScriptissä:
const name = 'Clementine';
ReactDOM.render(
<h1 className="hello">My name is {name}!</h1>,
document.getElementById('root')
);
alkuaineet
React-elementit ovat React-sovellusten rakennuspalikoita. Voidaan sekoittaa elementit laajemmin tunnettuun "komponenttien" käsitteeseen. Elementti kuvaa mitä haluat nähdä ruudulla. Reaktioelementit ovat muuttumattomia.
const element = <h1>Hello, world</h1>;
Tyypillisesti elementtejä ei käytetä suoraan, mutta ne palautetaan komponenteista.
Komponentit
React-komponentit ovat pieniä, uudelleenkäytettäviä koodinpaloja, jotka palauttavat sivulle renderöitävän React-elementin. React-komponentin yksinkertaisin versio on yksinkertainen JavaScript-funktio, joka palauttaa React-elementin:
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
Komponentit voivat olla myös ES6-luokkia:
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
Komponentit voidaan erottaa erillisiksi toiminnallisiksi paloiksi ja käyttää muissa komponenteissa. Komponentit voivat palauttaa muita komponentteja, taulukoita, merkkijonoja ja numeroita. Hyvä nyrkkisääntö on, että jos jotakin käyttöliittymän osaa käytetään useita kertoja (painike, paneeli, avatar) tai se on riittävän monimutkainen yksin (sovellus, FeedStory, kommentti), on hyvä ehdokas olla uudelleenkäytettävä komponentti . Komponenttien nimien tulisi myös alkaa aina isolla kirjaimella (<Wrapper/>
ei<wrapper/>
). Katsotästä dokumentaatiostalisätietoja komponenttien renderoinnista.
props
props
ovat tuloja React-komponenttiin. Ne ovat tietoja, jotka välitetään vanhemmalta komponentilta alikomponentille.
Muista, ettäprops
ovat vain luku -muodossa. Niitä ei saa muuttaa millään tavalla:
// Wrong!
props.number = 42;
Jos sinun on muutettava jotakin arvoa käyttäjän syötteen tai verkkovasteen perusteella, käytä sen sijaanstate
.
props.children
props.children
on saatavana jokaiselle komponentille. Se sisältää komponentin avaavan ja sulkevan tunnisteen välisen sisällön. Esimerkiksi:
<Welcome>Hello world!</Welcome>
MerkkijonoHello world!
on käytettävissä kohdassaprops.children
komponentissaWelcome
:
function Welcome(props) {
return <p>{props.children}</p>;
}
Luokkiksi määriteltyjen komponenttien osalta käytäthis.props.children
:
class Welcome extends React.Component {
render() {
return <p>{this.props.children}</p>;
}
}
state
Komponentti tarvitseestate
, kun osa siihen liittyvistä tiedoista muuttuu ajan myötä. EsimerkiksiCheckbox
komponentti saattaa tarvitaisChecked
tilassaan, jaNewsFeed
komponentti saattaa haluta seurata tilaafetchedPosts
tilassa.
Tärkein erostate
: n japrops
: n välillä on se, ettäprops
siirretään pääkomponentista, mutta komponenttiastate
hallinnoi itse komponentti. Komponentti ei voi muuttaa senprops
, mutta se voi muuttaa senstate
.
Kutakin muuttuvaa dataa varten tulisi olla vain yksi komponentti, joka "omistaa" sen tilassa. Älä yritä synkronoida kahden eri komponentin tilaa. Sen sijaannosta se ylöslähimmän jaetun esi-isänsä luo ja välitä se molemmille rekvisiitiksi.
Elinkaarimenetelmät
Elinkaarimenetelmät ovat mukautettuja toimintoja, jotka suoritetaan komponentin eri vaiheiden aikana. Käytettävissä on menetelmiä, kun komponentti luodaan ja lisätään DOM: iin (kiinnitys), kun komponentti päivittyy ja kun komponentti irrotetaan tai poistetaan DOM: sta.
Hallittuvs.Hallitsematon komponentti
Reactilla on kaksi erilaista lähestymistapaa lomakesyötteiden käsittelyyn.
Syöttömuotoelementtiä, jonka arvoa ohjaa React, kutsutaanohjatuksi komponentiksi. Kun käyttäjä syöttää tietoja hallittuun komponenttiin, muutostapahtumakäsittelijä laukaistaan ja koodisi päättää, onko syöte kelvollinen (renderöimällä uudelleen päivitetyllä arvolla). Jos et renderöi uudelleen, lomake-elementti pysyy muuttumattomana.
hallitsematon komponenttitoimii kuten muotoelementitkin Reactin ulkopuolella. Kun käyttäjä syöttää tietoja lomakekenttään (syöttöruutu, avattava valikko jne.), Päivitetyt tiedot heijastuvat ilman, että React tarvitsee tehdä mitään. Tämä tarkoittaa kuitenkin myös sitä, että et voi pakottaa kenttää olemaan tietty arvo.
Useimmissa tapauksissa sinun tulee käyttää valvottuja komponentteja.
Näppäimet
"Avain" on erityinen merkkijonoattribuutti, joka sinun on sisällytettävä luodessasi elementtiryhmiä. Avaimet auttavat reagoimaan tunnistamaan, mitkä kohteet ovat muuttuneet, lisätty tai poistettu. Taulukon sisällä oleville elementeille tulisi antaa avaimet, jotta elementit saisivat vakaan identiteetin.
Avainten on oltava ainutlaatuisia vain saman ryhmän matriisissa. Niiden ei tarvitse olla ainutlaatuisia koko sovelluksessa tai edes yksittäisessä komponentissa.
Älä välitä näppäimille jotainMath.random()
. On tärkeää, että avaimilla on "vakaa identiteetti" uudelleentoiminnoissa, jotta React voi määrittää, milloin kohteita lisätään, poistetaan tai järjestetään uudelleen. Ihannetapauksessa avainten tulisi vastata yksilöiviä ja vakaita tunnuksia, jotka ovat peräisin tiedoistasi, kutenpost.id
.
Viitteet
React tukee erityistä määritettä, jonka voit liittää mihin tahansa komponenttiin.ref
-attribuutti voi ollaReact.createRef()
-funktiontai takaisinsoittofunktion tai merkkijonon (vanhassa sovellusliittymässä) luoma objekti. Kunref
-attribuutti on takaisinsoittofunktio, funktio vastaanottaa argumenttina alla olevan DOM-elementin tai luokan ilmentymän (elementin tyypistä riippuen). Tämä antaa sinulle suoran pääsyn DOM-elementtiin tai komponentti-ilmentymään.
Käytä viitteitä säästeliäästi. Jos huomaat usein käyttävänne viitteitä sovelluksen "tapahtumien toteuttamiseksi", harkitse tutustumistaylhäältä alas -tietovirtaan.
Tapahtumat
Tapahtumien käsittelyssä React -elementteillä on joitain syntaktisia eroja:
- Reapahtumien käsittelijät on nimetty pienillä kirjaimilla pikemminkin kuin camelCase.
- JSX: llä välität funktion tapahtumakäsittelijänä merkkijonon sijasta.
Sovinto
Kun komponentin rekvisiitta tai tila muuttuu, React päättää, tarvitaanko todellinen DOM -päivitys, vertaamalla juuri palautettua elementtiä aiemmin muodostettuun elementtiin. Kun ne eivät ole samat, React päivittää DOM: n. Tätä prosessia kutsutaan "sovinnoksi".
Yhden sivun sovellusYksisivuinen sovellus on sovellus, joka lataa yhden HTML-sivun ja kaik...
818 0 1Vuosia sitten
ES6, ES2015, ES2016 jne.Kaikki nämä lyhenteet viittaavat ECMAScript Language Specificati...
1313 0 1Vuosia sitten
KoostajatJavaScript-kääntäjä ottaa JavaScript-koodin, muuntaa sen ja palauttaa JavaScr...
1432 0 1Vuosia sitten
NiputtimetPakkaajat ottavat JavaScript- ja CSS-koodin, jotka on kirjoitettu erillisiksi mo...
1079 0 1Vuosia sitten
Pakettien ylläpitäjätPakettien hallinta on työkalu, jonka avulla voit hallita riippuvu...
618 0 1Vuosia sitten
CDNCDN on lyhenne sanoista Content Delivery Network. CDN: t toimittavat välimuistissa ole...
607 0 1Vuosia sitten
JSXJSX on JavaScriptin syntaksilaajennus. Se on samanlainen kuin mallikieli, mutta sillä ...
1039 0 1Vuosia sitten
alkuaineetReact-elementit ovat React-sovellusten rakennuspalikoita. Voidaan sekoittaa elem...
1095 0 1Vuosia sitten
KomponentitReact-komponentit ovat pieniä, uudelleenkäytettäviä koodinpaloja, jotka pal...
1304 0 1Vuosia sitten
ElinkaarimenetelmätElinkaarimenetelmät ovat mukautettuja toimintoja, jotka suoritetaan k...
1134 0 1Vuosia sitten
Hallittuvs.Hallitsematon komponenttiReactilla on kaksi erilaista lähestymistapaa lomakesy...
532 0 1Vuosia sitten
Näppäimet"Avain" on erityinen merkkijonoattribuutti, joka sinun on sisällytettävä luo...
729 0 1Vuosia sitten
ViitteetReact tukee erityistä määritettä, jonka voit liittää mihin tahansa komponent...
1182 0 1Vuosia sitten
TapahtumatTapahtumien käsittelyssä React -elementteillä on joitain syntaktisia eroja:Re...
747 0 1Vuosia sitten
SovintoKun komponentin rekvisiitta tai tila muuttuu, React päättää, tarvitaanko todell...
1126 0 1Vuosia sitten