Programiranje

Kaj je novega v knjižnici uporabniškega vmesnika React JavaScript

Zdaj je na voljo v produkciji, različica 16.8 knjižnice uporabniškega vmesnika React JavaScript ima možnost kavljev za uporabo stanja in drugih funkcij React, ne da bi bilo treba pisati razred.

Kje prenesti React

Različico izdelka React lahko prenesete iz GitHub.

Trenutna različica: Nove funkcije v React 16.8

React 168, izdan februarja 2019, ponuja izvedbo kavljev za Reactov DOM, strežnik DOM, testni upodabljalnik in plitki upodabljalec. Kavlji so podprti v React DevTools. Razvijalci lahko izdelajo lastne kljuke, da si delijo logiko, ki jo je mogoče ponovno uporabiti, med komponente. Facebook pa razvijalcem svetuje, naj si vzamejo čas s to zmožnostjo in ne priporočajo, naj razvijalci na novo napišejo programe, da bodo kljuke uporabljali "čez noč".

Razredov iz React-a ni v načrtu odstraniti, zato bi morali razvijalci preizkusiti kavlje v nekaterih novih komponentah. Koda, ki uporablja kljuke za izračun, bo delovala skupaj z obstoječo kodo, ki uporablja razrede.

Prejšnja različica: Nove funkcije v React 16.7

Izdan decembra 2018, React 16.7 dodaja možnost kavljev za uporabo stanja in drugih funkcij React brez pisanja predavanja.

Kavlji so funkcije, ki povezujejo funkcije stanja in življenjskega cikla reakcije iz komponent funkcije. Trenutno delajo vzporedno z obstoječo kodo, kar omogoča postopno sprejemanje. Ni načrtov za dejansko odstranjevanje razredov iz React-a. Kavlji rešujejo različne težave v Reactu, vključno z:

  • Pomanjkanje načina za pritrditev vedenja za večkratno uporabo na komponento. Obstajajo vzorci, kot so renderi in komponente višjega reda, ki to skušajo rešiti, vendar zahtevajo prestrukturiranje komponent, kar je lahko okorno in otežuje sledenje kodi. Z uporabo kljukic lahko razvijalci iz komponente izvlečejo logiko stanja za neodvisno preskušanje in ponovno uporabo.
  • Kompleksne komponente je postalo preveč težko razumeti. S kavlji lahko komponente razdelite na manjše funkcije na podlagi sorodnih kosov, na primer nastavitev naročnine ali pridobivanje podatkov. To se naredi namesto, da bi se prisililo k razdelitvi na podlagi metod življenjskega cikla.
  • Predavanja lahko zmedejo ljudi in stroje, zato veljajo za največjo oviro pri učenju React-a. Kljuke omogočajo razvijalcem uporabo več React-ovih funkcij brez predavanj. Kavlji zajemajo funkcije, vendar brez žrtvovanja duha React-a. Omogočen je dostop do nujnih rešilnih loput. Razvijalcem se ni treba naučiti zapletenih tehnik funkcionalnega ali reaktivnega programiranja.

Prejšnja različica: Nove funkcije v React 16.6

React 16.6, izdan oktobra 2018, ponuja več izboljšav.

  • S beležko, razvijalci lahko rešijo upodabljanje s funkcijskimi komponentami, podobno kot lahko komponente razreda rešijo upodabljanje, kadar so vhodni rekviziti enaki z uporabo PureComponents ali shouldComponentUpdate.
  • S leni, razvijalci lahko uporabljajo Napetost komponenta za razdelitev kode z zavijanjem dinamičnega uvoza v klic React.lazy (). Opomba: Funkcija še ni na voljo za upodabljanje na strani strežnika.
  • Udobni API je bil predstavljen za porabo vrednosti konteksta znotraj komponente razreda. Razvijalci so se pritoževali, da bi bilo lahko uvajanje novega API-ja render prop iz React 16.3 težko v komponentah razreda.
  • Metoda napake, getDerivedStatefromError (), upodablja nadomestni uporabniški vmesnik, preden se upodabljanje konča. Opomba: Še ni na voljo za upodabljanje na strani strežnika, vendar se lahko razvijalci nanj začnejo pripravljati.
  • Dva Strogi način API-ji so zastareli: findDOMNode () in zapuščinski kontekst contextType in getChildContext. Razvijalce spodbujamo k nadgradnji na novo contextType API.

Prejšnja različica: Nove funkcije v React 16.4

Različica 16.4 React-a, ki je izšla konec maja 2018, dodaja podporo za dogodke kazalcev, pogosto zahtevano funkcijo, in izboljšanje prihajajoče zmogljivosti asinhronega upodabljanja. Brskalniki, ki podpirajo dogodke kazalcev, vključujejo različice Google Chrome, Mozilla Firefox, Microsoft Edge in Microsoft Internet Explorer.

Kazalni dogodki so dogodki DOM, sproženi za kazalno napravo, ki so zasnovani tako, da nudijo en sam model dogodkov za upravljanje naprav, kot sta miška ali dotik.

S podporo za kazalne dogodke React dodaja podporo za vrste dogodkov, ki vključujejo:

  • onPointerDow
  • onPointerMove
  • onPointerUp
  • onPointerCancel
  • onGotPointerCapture
  • onLostPointerCapture
  • onPointerEnter
  • onPointerLeave
  • onPointerOver
  • onPointerOut

Druge nove zmogljivosti v React 16.4 vključujejo:

  • Izboljšana združljivost z načrtovanim asinhronim načinom upodabljanja. V ta namen je v izdaji odpravljena napaka za getDerivedStatefromProps, ki se zdaj pokliče vsakič, ko je potrebna komponenta, ne glede na to, zakaj se dogaja posodobitev. Poklican je bil le, če je komponento upodobil nadrejeni in se lokalno ne bi sprožil setState. Popravek ne vpliva na večino aplikacij, v redkih primerih pa lahko povzroči težave z majhnim številom komponent.
  • Dodana je eksperimentalna komponenta profilatorja, imenovana unstable_Profiler, za merjenje zmogljivosti.
  • Eksperimentalni pomirjevalnik za ustvarjanje upodobiteljev po meri vsebuje novo obliko konfiguracije gostitelja, ki je ravna in ne uporablja ugnezdenih predmetov.
  • Popravki React DOM vključujejo popravilo napake, ki je v nekaterih primerih preprečevala širjenje konteksta, pa tudi situacijo, v kateri so bili nekateri atributi napačno odstranjeni iz vozlišč elementov po meri.

V React različici 16.4 je bila zmožnost poskusne vrnitve klica izbrisana, ker je vplivala na velikost svežnja in API ni bil dovolj dober. Pričakujte ga na neki točki v drugi obliki, pravi Facebook.

Prejšnja različica: Nove funkcije v React 16.3

Izid React, marec 2018, različica 16.3, prinaša spremembe življenjskega cikla in API za kontekst.

Spremembe življenjskega cikla v Reactu 16.3

Za življenjski cikel komponente prihajajoči asinhronski način upodabljanja razširi model API-ja razreda komponente, ki se uporablja na načine, ki prvotno niso bili predvideni. Torej se dodajajo novi življenjski cikli, vključno getDerivedStateFromProps, kot varnejša alternativa staremu življenjskemu ciklu, componentWillReceiveProps. Dodano je tudi getSnapshotBeforeUpdate, za podporo varnemu branju lastnosti, kot je DOM, preden so na voljo posodobitve.

React 16.3 v nekatere od teh življenjskih ciklov doda tudi predpono "nevarna", na primer componentWillMount in componentWillReceiveUpdate. V teh primerih se izraz „nevarno“ ne nanaša na varnost, temveč na dejstvo, da je v prihodnjih različicah React verjetneje, da bo koda, ki uporablja te življenjske cikle, imela napake.

Z izdajo React 16.3 razvijalcem ni treba storiti ničesar glede starih metod. Sprostitev je namenjena vzdrževalcem odprtokodnih projektov, da posodobijo svoje knjižnice pred opozorili o ukinitvi, ki bodo omogočena šele v prihodnji izdaji v vrstici 16.x.

Različica 16.3 dodaja StrictMode komponenta, ki identificira komponente z nevarnimi življenjskimi cikli. StrictMode, ki deluje samo v razvojnem načinu, opozarja tudi na uporabo starejšega API-ja za niz ref in zazna nepričakovane neželene učinke. Aktivira dodatne preglede za potomce. Več funkcij bo dodanih pozneje.

Kontekstni API podpira preverjanje statičnega tipa in poglobljene posodobitve

Novi kontekstni API podpira preverjanje statičnega tipa in poglobljene posodobitve. Ta API je tudi učinkovitejši od prejšnje eksperimentalne različice API, je dejal Brian Vaughn, član glavne skupine React JS pri Facebooku. Kontekst omogoča, da se podatki prenašajo skozi drevo komponent, ne da bi bilo treba ročno posredovati rekvizite, med katerimi so nekatere prednostne nastavitve in tema uporabniškega vmesnika. Stari API bo še naprej deloval za različice React 16.x, kar bo uporabnikom omogočilo čas za selitev.

Novo tudi v React 16.3:

  • Izboljšani API, imenovan createrefAPI, za upravljanje referenc, ki omogočajo dostop do vozlišč DOM ali elementov React, razvitih v metodi upodabljanja.
  • The naprejRef API, ki pomaga pri uporabi komponent višjega reda, ki spodbujajo ponovno uporabo kode.

Prejšnja različica: Nove funkcije v React 16.2

Izdaja React 16.2 novembra 2017 prinaša fragmente, da izboljšajo podporo za prikazovanje več podrejenih iz metode upodabljanja komponent. Fragmenti, ki spominjajo na prazne oznake JSX, omogočajo razvijalcem, da združijo seznam podrejenih, ne da bi v DOM dodali vozlišča.

Različico 16.2 lahko namestite iz registra NPM. Če želite namestiti z upraviteljem paketov Yarn, zaženite preja dodajte reakcija@^16.2.0 reakcija-dom@^16.2.0. Če ga želite namestiti z NPM, zaženite npm namestitev --save response@^16.2.0 response-dom@^16.2.0.

Prejšnja različica: Nove funkcije v React 16.0

React 16.0, ki so ga med razvojem poimenovali "React Fiber", je prepis jedra React, ki z novim algoritmom usklajevanja izboljšuje zaznano odzivnost zapletenih aplikacij. Ključne značilnosti React 16 vključujejo:

  • Napake, ki vsebujejo sled skladov komponent, da jih je lažje odpraviti.
  • Vrnitev nizov / nizov neposredno iz metod upodabljanja komponent.
  • Nov hitrejši upodabljalnik na strani strežnika.
  • Bolj zmogljivost aplikacij, podobnih domačim.
  • Prehod z kontroverzne licence BSD + Patents na bolj okusno licenco MIT.

Čeprav so bili Reactovi notranji elementi v React 16 popolnoma prepisani, je javni API "v bistvu nespremenjen," je povedala Sophie Alpert, Facebookova inženirska menedžerka za React. Namen je bil razvijalcem preprečiti, da bi morali prepisovati obstoječe komponente, zgrajene z Reactom.

Nova koda React 16 je bila v skladu z znano prakso na Facebooku napisana skupaj s staro kodo v repo GitHub. Preklapljanje med obema je bilo izvedeno z logično logiko useFiber funkcijska zastava. Postopek je omogočil Facebooku, da je začel graditi novo izvedbo, ne da bi vplival na obstoječe uporabnike, in še naprej popravljal napake na stari osnovi kode.

Po nekaj mesecih likanja napak se je Facebook odločil, da bo ponudil en sam izdelek, da bi zmanjšal možen niz napak, namesto da bi ohranil dve različici React.

$config[zx-auto] not found$config[zx-overlay] not found