Programmering

Hva er nytt i React JavaScript UI-biblioteket

Nå tilgjengelig i produksjonsutgivelse, har versjon 16.8 av React JavaScript UI-biblioteket krokfunksjonene for bruk av tilstandsfunksjoner og andre React-funksjoner uten å måtte skrive en klasse.

Hvor laster du ned Reager

Du kan laste ned produsentversjonen av React fra GitHub.

Gjeldende versjon: Nye funksjoner i React 16.8

Utgitt i februar 2019, gir React 168 en implementering av kroker for React's DOM-, DOM-server, testrender og grunne renderer. Kroker støttes i React DevTools. Utviklere kan bygge sine egne kroker for å dele gjenbrukbar stateful logikk mellom komponenter. Men Facebook anbefaler utviklere å ta seg god tid med denne muligheten, og ikke anbefale at utviklere omskriver applikasjoner for å bruke kroker "over natten".

Det er ingen planer om å fjerne klasser fra React, så utviklere bør prøve kroker i noen nye komponenter. Kode som bruker overordnede kroker, fungerer sammen med eksisterende kode ved bruk av klasser.

Forrige versjon: Nye funksjoner i React 16.7

Utgitt i desember 2018, legger React 16.7 til krokfunksjonen, for bruk av tilstand og andre React-funksjoner uten å skrive en klasse.

Kroker er funksjoner som lenker til React-tilstand og livssyklusfunksjoner fra funksjonskomponenter. De jobber for tiden side om side med eksisterende kode, noe som muliggjør gradvis adopsjon. Det er ingen planer om å faktisk fjerne klasser fra React. Kroker løser en rekke problemer i React, inkludert:

  • Mangelen på en måte å knytte gjenbrukbar oppførsel til en komponent. Det har vært mønstre som gjengitt rekvisitter og komponenter av høyere orden som prøver å løse dette, men disse krever restrukturering av komponenter, noe som kan være tungvint og gjøre det vanskeligere å følge koden. Ved hjelp av kroker kan utviklere trekke ut stateful logikk fra en komponent for uavhengig testing og gjenbruk.
  • Komplekse komponenter har blitt for vanskelige å forstå. Med kroker kan komponenter deles i mindre funksjoner basert på relaterte brikker, for eksempel å sette opp et abonnement eller hente data. Dette gjøres i stedet for å tvinge en splittelse basert på livssyklusmetoder.
  • Klasser kan forvirre både mennesker og maskiner og blir sett på som den største barrieren for å lære Reager. Hooks lar utviklere bruke flere av React-funksjonene uten klasser. Hooks omfavner funksjoner, men uten å ofre React-ånden. Det gis tilgang til tvingende rømningsluker. Utviklere trenger ikke å lære komplekse funksjonelle eller reaktive programmeringsteknikker.

Forrige versjon: Nye funksjoner i React 16.6

Utgitt i oktober 2018, gir React 16.6 flere forbedringer.

  • Med notat, kan utviklere redde gjengivelse med funksjonskomponenter, i likhet med hvordan klassekomponenter kan redde gjengivelse når inngangsrekvisitter er de samme ved å bruke PureComponents eller shouldComponentUpdate.
  • Med lat, kan utviklere bruke Spenning komponent for kodedeling ved å pakke inn en dynamisk import i samtale til Reager. Lat (). Merk: Funksjonen er ennå ikke tilgjengelig for gjengivelse på serversiden.
  • Bekvemmelighets-API-et ble introdusert for å konsumere en kontekstverdi fra en klassekomponent. Utviklere hadde klaget over at det å ta i bruk den nye render prop API fra React 16.3 kan være vanskelig i komponentene i klassen.
  • En feilmetode, getDerivedStatefromError (), gjengir reserve-UI før en gjengivelse fullføres. Merk: Det er ennå ikke tilgjengelig for gjengivelse på serversiden, men utviklere kan begynne å forberede seg på det.
  • To Strikt modus API-er er utfaset: findDOMNode () og eldre kontekst ved hjelp contextType og getChildContext. Utviklere oppfordres til å oppgradere til det nye contextType API.

Forrige versjon: Nye funksjoner i React 16.4

Versjon 16.4 av React, utgitt i slutten av mai 2018, legger til støtte for pekerhendelser, en ofte etterspurt funksjon, samt en forbedring for en kommende asynkron gjengivelsesfunksjon. Nettlesere som støtter pekerhendelser inkluderer versjoner av Google Chrome, Mozilla Firefox, Microsoft Edge og Microsoft Internet Explorer.

Pekerehendelser er DOM-hendelser som er utløst for en pekeenhet, designet for å gi en enkelt hendelsesmodell for å håndtere enheter som en mus eller berøring.

Med støtte for pekerhendelser legger React til støtte for hendelsestyper som inkluderer:

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

Andre nye funksjoner i React 16.4 inkluderer:

  • Forbedret kompatibilitet med en planlagt asynkron gjengivelsesmodus. For å gjøre dette har utgivelsen en feilretting for getDerivedStatefromProps, som nå kalles hver gang en komponent er nødvendig uavhengig av hvorfor oppdateringen skjer. Det hadde bare blitt kalt hvis en komponent ble gjengitt av en forelder og ikke ville skyte som et resultat av en lokal setState. Løsningen påvirker ikke de fleste apper, men kan i sjeldne tilfeller forårsake problemer med et lite antall komponenter.
  • En eksperimentell profilkomponent er lagt til, kalt ustabil_Profiler, for måling av ytelse.
  • En eksperimentell avstemmer, for å lage tilpassede gjengivere, har en ny vertkonfigurasjonsform som er flat og ikke bruker nestede objekter.
  • Løsninger på React DOM inkluderer reparasjon av en feil som i noen tilfeller forhindret forplantning av kontekst, samt en situasjon der noen attributter feilaktig ble fjernet fra egendefinerte elementnoder.

Den eksperimentelle evnen til å ringe tilbake ble slettet i React versjon 16.4 fordi den påvirket buntstørrelsen og APIen ikke var god nok. Forvent det tilbake på et tidspunkt i en annen form, sier Facebook.

Forrige versjon: Nye funksjoner i React 16.3

Utgivelsen av React fra mars 2018, versjon 16.3, gir endringer i livssyklusen samt en API for kontekst.

Livssyklusendringer i React 16.3

For komponentens livssyklus strekker den kommende asynk-gjengivelsesmodusen API-modellen for klassekomponenten, som brukes på måter som ikke opprinnelig var ment. Så nye livssykluser blir lagt til, inkludert getDerivedStateFromProps, som et tryggere alternativ til arvets livssyklus, componentWillReceiveProps. Også lagt til er getSnapshotBeforeUpdate, for å støtte sikker lesing av egenskaper, for eksempel DOM før oppdateringer blir gjort.

React 16.3 legger også til “usikkert” prefiks til noen av disse livssyklusene, for eksempel til componentWillMount og componentWillReceiveUpdate. I disse tilfellene refererer "usikker" ikke til sikkerhet, men til det faktum at det er mer sannsynlig at kode som bruker disse livssyklusene vil ha feil i fremtidige versjoner av React.

Med React 16.3-utgivelsen trenger ikke utviklere å gjøre noe med eldre metoder. Utgivelsen er ment å be prosjektansvarlige for åpen kildekode om å oppdatere bibliotekene sine før advarsler om avvikling, som ikke vil bli aktivert før en fremtidig utgivelse i 16.x-linjen.

Versjon 16.3 legger til StrictMode komponent, som identifiserer komponenter med usikre livssykluser. StrictMode, som bare kjører i utviklingsmodus, advarer også om eldre strengref-API-bruk og oppdager uventede bivirkninger. Den aktiverer ytterligere kontroller for etterkommere. Mer funksjonalitet vil bli lagt til senere.

Context API støtter kontroll av statisk type og dype oppdateringer

Den nye kontekst-API-et støtter kontroll av statisk type og dype oppdateringer. Denne API-en er også mer effektiv enn den forrige eksperimentelle API-versjonen, sa Brian Vaughn, et medlem av React JS-kjerneteamet på Facebook. Kontekst lar data sendes gjennom et komponenttre uten å måtte sende rekvisitter manuelt, hvorav noen inkluderer lokal preferanse og UI-tema. Den gamle API-en vil fortsette å jobbe for React 16.x-utgivelser, noe som gir brukerne tid til å migrere.

Også nytt i React 16.3:

  • En forbedret API, kalt CreaterefAPI, for å administrere refs, som gir en måte å få tilgang til DOM-noder eller React-elementer utviklet i gjengivelsesmetoden.
  • De frem Ref API, som hjelper til med bruk av komponenter av høyere orden som fremmer gjenbruk av kode.

Forrige versjon: Nye funksjoner i React 16.2

November 2017-utgivelsen av React 16.2 gir fragmentene muligheten til å forbedre støtten for å vise flere barn fra en komponentgjengivelsesmetode. Fragmenter, som ligner på tomme JSX-koder, lar utviklere gruppere en liste over barn uten å legge til noder i DOM.

Du kan installere versjon 16.2 fra NPM-registeret. For å installere med Yarn-pakkebehandling, kjør garn legg til react@^16.2.0 react-dom@^16.2.0. For å installere den med NPM, kjør npm install - lagre react@^16.2.0 react-dom@^16.2.0.

Forrige versjon: Nye funksjoner i React 16.0

Kalt "React Fiber" under utviklingen, september 2017's React 16.0 er en omskriving av React-kjernen, og forbedrer opplevd respons for komplekse applikasjoner via en ny avstemmingsalgoritme. Hovedtrekkene i React 16 inkluderer:

  • Feil som har et komponentspor for å gjøre dem enklere å feilsøke.
  • Returnering av strenger / matriser direkte fra komponentgjengivelsesmetoder.
  • En ny raskere, streaming server-renderer.
  • Mer applikasjonsytelse som er naturlig.
  • Skiftet fra den kontroversielle BSD + patentlisensen til den mer smakfulle MIT-lisensen.

Selv om Reacts interner har blitt fullstendig omskrevet i React 16, er det offentlige API-et "i det vesentlige uendret", sa Sophie Alpert, Facebooks ingeniørleder for React. Hensikten var å redde utviklere fra å måtte omskrive eksisterende komponenter bygget med React.

React 16s nye kode ble skrevet sammen med gammel kode i GitHub-repoen, ifølge en kjent praksis på Facebook. Bryterne mellom de to ble gjort med boolskeren bruk Fiber funksjonen flagg. Prosessen lot Facebook begynne å bygge sin nye implementering uten å påvirke eksisterende brukere og fortsette å gjøre feilrettinger til den gamle kodebasen.

Etter noen måneder med å stryke ut feil valgte Facebook å levere et enkelt produkt for å redusere det mulige sett med feil, i stedet for å holde to versjoner av React oppdatert.

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