Programavimas

Kas naujo „React JavaScript“ vartotojo sąsajos bibliotekoje

„React JavaScript“ vartotojo sąsajos bibliotekos 16.8 versijoje dabar yra gamybinis leidimas, turintis kabliukų galimybę naudoti būsenos ir kitas „React“ funkcijas nereikalaujant rašyti klasės.

Kur atsisiųsti „React“

„React“ produkto versiją galite atsisiųsti iš „GitHub“.

Dabartinė versija: naujos „React 16.8“ funkcijos

Išleistas 2019 m. Vasario mėn. „React 168“ siūlo „React“ DOM, DOM serverio, bandomojo ir seklio atvaizdavimo elementų kabliukų įgyvendinimą. Kabliai palaikomi „React DevTools“. Kūrėjai gali sukurti savo kabliukus, kad komponentai galėtų bendrinti daugkartinę būsenos logiką. Tačiau „Facebook“ pataria kūrėjams neskubėti pasinaudojant šia galimybe, nerekomenduojant kūrėjams perrašyti programų, kad kabliukai būtų naudojami „per naktį“.

Neketinama pašalinti klasių iš „React“, todėl kūrėjai turėtų išbandyti kai kurių naujų komponentų kabliukus. Kodas, kuriame naudojami kabliai, veiks kartu su esamu kodu, naudojant klases.

Ankstesnė versija: naujos „React 16.7“ funkcijos

„React 16.7“, išleistas 2018 m. Gruodžio mėn., Papildo kablių galimybę naudoti būsenos ir kitas „React“ funkcijas nerašant klasės.

Kabliai yra funkcijos, kurios susieja su funkcijų komponentų reakcijos būsena ir gyvavimo ciklo ypatybėmis. Šiuo metu jie dirba kartu su esamais kodais, leidžiančiais laipsniškai juos priimti. Neketinama iš tikrųjų pašalinti klasių iš „React“. Kabliai išsprendžia įvairias „React“ problemas, įskaitant:

  • Trūksta būdo pritvirtinti daugkartinio naudojimo elgesį prie komponento. Buvo bandymų išspręsti tokius modelius kaip „render“ rekvizitai ir aukštesnio lygio komponentai, tačiau tam reikia pertvarkyti komponentus, o tai gali būti sudėtinga ir apsunkinti kodo sekimą. Naudodamiesi kabliukais, kūrėjai gali iš komponento išgauti būsenos logiką nepriklausomam testavimui ir pakartotiniam naudojimui.
  • Sudėtingus komponentus tapo per sunku suprasti. Naudojant kabliukus, komponentus galima suskirstyti į mažesnes funkcijas, atsižvelgiant į susijusius elementus, pvz., Prenumeratos nustatymą ar duomenų gavimą. Tai daroma užuot verčiant padalyti pagal gyvavimo ciklo metodus.
  • Klasės gali suklaidinti tiek žmones, tiek mašinas ir yra laikomos didžiausia kliūtimi mokantis „React“. Kabliai leidžia kūrėjams naudoti daugiau „React“ funkcijų be užsiėmimų. Kabliai apima funkcijas, tačiau neaukojant „React“ dvasios. Prieiga prie būtinų evakuacijos liukų. Kūrėjai neprivalo mokytis sudėtingų funkcinių ar reaktyvių programavimo metodų.

Ankstesnė versija: naujos „React 16.6“ funkcijos

Išleistas 2018 m. Spalio mėn. „React 16.6“ suteikia keletą patobulinimų.

  • Su atmintinė, kūrėjai gali apsaugoti nuo pateikimo su funkcijų komponentais, panašiai kaip klasės komponentai gali atkurti, kai įvesties rekvizitai yra vienodi naudojant PureComponents arba shouldComponentUpdate.
  • Su tinginys, kūrėjai gali naudoti Įtampa komponentas, skirtas kodų skaidymui, įvedant dinaminį importą skambinant į React.lazy (). Pastaba: ši funkcija dar negalima teikiant serverio pusėje.
  • Patogus API buvo pristatytas norint suvartoti konteksto vertę iš klasės komponento. Kūrėjai skundėsi, kad klasės komponentuose gali būti sunku pritaikyti naują „render prop“ API iš „React 16.3“.
  • Klaidos metodas, getDerivedStatefromError (), pateikia atsarginę vartotojo sąsają prieš pateikiant failą. Pastaba: dar negalima atkurti serverio pusėje, tačiau kūrėjai gali pradėti tam ruoštis.
  • Du Griežtas būdas API nebenaudojama: findDOMNode () ir senojo konteksto naudojimas contextType ir „getChildContext“. Kūrėjai raginami naujovinti į naujus contextType API.

Ankstesnė versija: naujos „React 16.4“ funkcijos

„React“ 16.4 versija, išleista 2018 m. Gegužės pabaigoje, papildo žymeklio įvykių palaikymą, dažnai prašomą funkciją ir būsimos asinchroninio atvaizdavimo galimybės patobulinimus. Naršyklės, palaikančios žymeklio įvykius, apima „Google Chrome“, „Mozilla Firefox“, „Microsoft Edge“ ir „Microsoft Internet Explorer“ versijas.

Žymeklio įvykiai yra DOM įvykiai, suaktyvinti rodyklės įtaisui, skirti pateikti vieno įvykio modelį, skirtą valdyti tokius įrenginius kaip pelė ar jutiklinis ryšys.

Palaikydamas žymeklio įvykius, „React“ palaiko įvykių tipus, kurie apima:

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

Kitos naujos „React 16.4“ galimybės apima:

  • Geresnis suderinamumas su planuojamu asinchroninio atvaizdavimo režimu. Norėdami tai padaryti, leidime yra klaidų taisymas getDerivedStatefromProps, kuris dabar vadinamas kiekvieną kartą, kai reikalingas komponentas, neatsižvelgiant į tai, kodėl vyksta atnaujinimas. Jis buvo iškviestas tik tuo atveju, jei komponentą perdavė vienas iš tėvų ir jis neužsivedė dėl vietinio „setState“. Pataisymas neturi įtakos daugumai programų, tačiau retais atvejais gali sukelti problemų dėl nedidelio komponentų skaičiaus.
  • Buvo pridėtas eksperimentinis profilio komponentas, vadinamas nestabilus_Profileris, našumui matuoti.
  • Eksperimentinis suderintuvas, skirtas kurti pasirinktinius atvaizduotojus, turi naują pagrindinio kompiuterio konfigūracijos formą, kuri yra plokščia ir nenaudoja įdėtų objektų.
  • „React DOM“ pataisymai apima klaidos, kuri kai kuriais atvejais neleido išplisti kontekstui, taisymą ir situaciją, kai kai kurie atributai buvo neteisingai pašalinti iš pasirinktinių elementų mazgų.

Eksperimentinė skambučio grąžinimo galimybė buvo ištrinta „React“ versijoje 16.4, nes ji paveikė paketo dydį ir API nebuvo pakankamai gera. Tikėkitės, kad jis grįš kažkada kita forma, sako „Facebook“.

Ankstesnė versija: naujos „React 16.3“ funkcijos

2018 m. Kovo mėn. „React“ versija išleido 16.3 versiją, taip pat keičia gyvenimo ciklą ir suteikia kontekstui API.

Gyvenimo ciklo pokyčiai 16.3 reakcijoje

Komponento gyvavimo ciklo metu būsimasis asinchroninio pateikimo režimas ištempia klasės komponento API modelį, kuris naudojamas būdais, kurie iš pradžių nebuvo numatyti. Taigi, pridedami nauji gyvenimo ciklai, įskaitant getDerivedStateFromProps, kaip saugesnę alternatyvą senajam gyvenimo ciklui, componentWillReceiveProps. Taip pat pridėta yra g„etSnapshotBeforeUpdate“, siekiant paremti saugų savybių, tokių kaip DOM, skaitymą prieš atliekant naujinimus.

„React 16.3“ taip pat prideda „nesaugų“ priešdėlį kai kuriems iš šių gyvenimo ciklų, pvz componentWillMount ir componentWillReceiveUpdate. Šiais atvejais „nesaugus“ reiškia ne saugumą, o tai, kad kodai, naudojantys šiuos gyvavimo ciklus, greičiausiai turi klaidų būsimose „React“ versijose.

Su „React 16.3“ leidimu kūrėjai neturi nieko daryti su senais metodais. Šis leidimas skirtas paskatinti atvirojo kodo projekto tvarkytojus atnaujinti savo bibliotekas prieš įspėjimus apie nebenaudojimą, kurie nebus įgalinti, kol būsimas leidimas bus pateiktas 16.x eilutėje.

16.3 versijoje pridėta „StrictMode“ komponentas, kuris identifikuoja komponentus, kurių gyvenimo ciklas yra nesaugus. „StrictMode“, kuris veikia tik kūrimo režimu, taip pat įspėja apie senų eilučių ref API naudojimą ir aptinka netikėtus šalutinius poveikius. Tai suaktyvina papildomus palikuonių patikrinimus. Daugiau funkcijų bus pridėta vėliau.

Konteksto API palaiko statinio tipo tikrinimą ir išsamius atnaujinimus

Nauja konteksto API palaiko statinio tipo tikrinimą ir išsamius atnaujinimus. Ši API taip pat yra efektyvesnė už ankstesnę eksperimentinę API versiją, sakė Brianas Vaughnas, „React JS“ pagrindinės komandos narys „Facebook“. Kontekstas leidžia duomenis perduoti per komponentų medį nereikalaujant rankiniu būdu perduoti rekvizitų, kai kurie iš jų apima lokalės nuostatas ir vartotojo sąsajos temą. Senoji API ir toliau veiks su „React 16.x“ leidimais, suteikdama vartotojams laiko pereiti.

Taip pat nauja „React 16.3“:

  • Patobulinta API, vadinama createrefAPI, skirtas valdyti nuorodas, kurios suteikia galimybę pasiekti DOM mazgus arba „React“ elementus, sukurtus pateikimo metodu.
  • forwardRef API, padedanti naudoti aukštesnio lygio komponentus, kurie skatina pakartotinį kodo naudojimą.

Ankstesnė versija: naujos „React 16.2“ funkcijos

2017 m. Lapkričio mėn. „React 16.2“ leidimas suteikia fragmentams galimybę pagerinti kelių vaikų rodymo palaikymą naudojant komponento pateikimo metodą. Fragmentai, panašūs į tuščias JSX žymas, leidžia kūrėjams grupuoti vaikų sąrašą nepridėjus mazgų prie DOM.

16.2 versiją galite įdiegti iš NPM registro. Norėdami įdiegti naudodami „Verpalų paketo tvarkyklę“, paleiskite verpalai pridėkite [email protected]^16.2.0 [email protected]^16.2.0. Norėdami jį įdiegti naudodami NPM, paleiskite npm įdiegti - išsaugoti reakciją@^16.2.0 [email protected]^16.2.0.

Ankstesnė versija: naujos „React 16.0“ funkcijos

Kuriant „React Fiber“, 2017 m. Rugsėjo mėn. „React 16.0“ yra „React“ branduolio perrašymas, pagerinant suvokiamą reagavimą į sudėtingas programas naudojant naują suderinimo algoritmą. Pagrindinės „React 16“ savybės:

  • Klaidos, kuriose yra komponento kamino pėdsakų, kad būtų lengviau jas derinti.
  • Stygų / masyvų grąžinimas tiesiogiai iš komponentų atvaizdavimo metodų.
  • Naujas greitesnis srautinis serverio atvaizdavimas.
  • Labiau panašus į gimtąją programą.
  • Perėjimas nuo prieštaringai vertinamos BSD + patentų licencijos prie labiau skanios MIT licencijos.

Nors „React“ vidiniai elementai buvo visiškai perrašyti „React 16“, viešoji API yra „iš esmės nepakitusi“, sakė Sophie Alpert, „Facebook“ „React“ inžinerijos vadovė. Siekta išgelbėti kūrėjus nuo perrašymo esamų komponentų, sukurtų naudojant „React“.

Naujasis „React 16“ kodas buvo parašytas kartu su senu „GitHub“ repo kodu, kaip įprasta „Facebook“ praktikoje. Perjungimai tarp šių dviejų buvo atlikti su loginiu elementu useFiber funkcija vėliava. Šis procesas leido „Facebook“ pradėti kurti naują diegimą, nedarant poveikio esamiems vartotojams, ir toliau taisyti klaidas senoje kodų bazėje.

Po kelių mėnesių klaidų ištaisymo „Facebook“ nusprendė pristatyti vieną produktą, kad sumažintų galimą klaidų rinkinį, o ne išlaikyti dvi „React“ versijas.