Programování

Co je nového v knihovně uživatelského rozhraní React JavaScript

Verze 16.8 knihovny React JavaScript UI, která je nyní k dispozici v produkčním vydání, má schopnost háčků pro použití stavu a dalších funkcí React bez nutnosti psaní třídy.

Kam stáhnout Reagovat

Produktovou verzi React si můžete stáhnout z GitHubu.

Aktuální verze: Nové funkce v React 16.8

Vydáno v únoru 2019, React 168 poskytuje implementaci háčků pro DOM, server DOM, testovací vykreslovač a mělký vykreslovač React. Háčky jsou podporovány v React DevTools. Vývojáři mohou vytvářet vlastní háčky a sdílet mezi nimi opakovaně použitelnou stavovou logiku. Facebook však doporučuje vývojářům, aby si s touto schopností našli čas, a nedoporučuje vývojářům přepsat aplikace tak, aby používaly háčky „přes noc“.

Neexistují žádné plány na odstranění tříd z React, takže vývojáři by měli vyzkoušet háčky v některých nových komponentách. Kód usingeveraging hooks bude fungovat společně s existujícím kódem pomocí tříd.

Předchozí verze: Nové funkce v React 16.7

Vydáno v prosinci 2018, React 16.7 přidává schopnost háčků pro použití stavových a dalších funkcí React bez psaní třídy.

Háčky jsou funkce, které odkazují na funkce Reagovat stav a životní cyklus z komponent funkcí. V současné době pracují bok po boku s existujícím kódem, což umožňuje postupné přijetí. Neexistují žádné plány na skutečné odstranění tříd z React. Háčky řeší různé problémy v React, včetně:

  • Chybějící způsob, jak ke komponentě připojit opakovaně použitelné chování. Existují vzory, jako jsou rekvizity pro vykreslování a komponenty vyššího řádu, které se to snaží vyřešit, ale tyto vyžadují restrukturalizaci komponent, což může být těžkopádné a ztěžovat sledování kódu. Pomocí háků mohou vývojáři extrahovat stavovou logiku z komponenty pro nezávislé testování a opětovné použití.
  • Složité součásti se staly příliš obtížně pochopitelnými. S háčky lze komponenty rozdělit na menší funkce na základě souvisejících částí, jako je nastavení předplatného nebo načítání dat. To se provádí namísto vynucení rozdělení na základě metod životního cyklu.
  • Třídy mohou zmást lidi i stroje a jsou považovány za největší překážku učení Reagovat. Háčky umožňují vývojářům využívat více funkcí React bez tříd. Háčky přijímají funkce, ale aniž by obětovaly ducha React. Je poskytován přístup k naléhavým únikovým poklopům. Vývojáři se nemusí učit složité techniky funkčního nebo reaktivního programování.

Předchozí verze: Nové funkce v React 16.6

Vydáno v říjnu 2018, React 16.6 poskytuje několik vylepšení.

  • S poznámka, mohou vývojáři zachránit z vykreslování pomocí funkčních komponent, podobně jako mohou komponenty třídy zachraňovat z vykreslování, když jsou vstupní rekvizity stejné pomocí PureComponents nebo shouldComponentUpdate.
  • S líný, mohou vývojáři používat Napětí komponenta pro rozdělení kódu zabalením dynamického importu do volání React.lazy (). Poznámka: Tato funkce zatím není k dispozici pro vykreslování na straně serveru.
  • Pohodlí API bylo zavedeno za účelem využití kontextové hodnoty z komponenty třídy. Vývojáři si stěžovali, že přijetí nového rozhraní API pro vykreslování z React 16.3 může být v komponentách třídy obtížné.
  • Chybová metoda, getDerivedStatefromError (), vykreslí záložní uživatelské rozhraní před dokončením vykreslení. Poznámka: Pro vykreslení na straně serveru ještě není k dispozici, ale vývojáři se na něj mohou začít připravovat.
  • Dva Přísný režim Podpora API byla ukončena: findDOMNode () a starší kontext pomocí kontextový typ a getChildContext. Vývojářům se doporučuje upgradovat na nový kontextový typ API.

Předchozí verze: Nové funkce v React 16.4

Verze 16.4 React, vydaná koncem května 2018, přidává podporu pro události ukazatele, často požadovanou funkci a vylepšení nadcházející schopnosti asynchronního vykreslování. Prohlížeče, které podporují události ukazatele, zahrnují verze Google Chrome, Mozilla Firefox, Microsoft Edge a Microsoft Internet Explorer.

Události ukazatele jsou události DOM aktivované pro polohovací zařízení, které jsou navrženy tak, aby poskytovaly jediný model události pro zpracování zařízení, jako je myš nebo dotyk.

S podporou událostí ukazatele React přidává podporu pro typy událostí, které zahrnují:

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

Mezi další nové funkce v React 16.4 patří:

  • Vylepšená kompatibilita s plánovaným režimem asynchronního vykreslování. Za tímto účelem obsahuje vydání opravu chyby getDerivedStatefromProps, který se nyní volá pokaždé, když je potřeba komponenta bez ohledu na to, proč k aktualizaci dochází. Bylo vyvoláno pouze v případě, že komponenta byla znovu vykreslena rodičem a nespustila by v důsledku lokálního setState. Oprava neovlivní většinu aplikací, ale ve vzácných případech může způsobit problémy s malým počtem komponent.
  • Byla přidána experimentální komponenta profilovače s názvem unstable_Profiler, pro měření výkonu.
  • Experimentální odsouhlasovač pro vytváření vlastních vykreslovacích modulů obsahuje nový tvar konfigurace hostitele, který je plochý a nepoužívá vnořené objekty.
  • Opravy React DOM zahrnují opravu chyby, která v některých případech zabránila šíření kontextu, a také situaci, kdy byly některé atributy nesprávně odebrány z uzlů vlastních prvků.

Funkce experimentálního zpětného volání byla odstraněna v React verze 16.4, protože to ovlivnilo velikost balíčku a API nebylo dost dobré. Očekávejte to v určitém okamžiku zpět v jiné podobě, říká Facebook.

Předchozí verze: Nové funkce v React 16.3

Vydání React z března 2018 verze 16.3 přináší změny životního cyklu i rozhraní API pro kontext.

Změny životního cyklu v React 16.3

V průběhu životního cyklu součásti nadcházející režim asynchronního vykreslování roztáhne model API komponenty třídy, který se používá způsoby, které nebyly původně zamýšleny. Přidávají se tedy nové životní cykly, včetně getDerivedStateFromProps, jako bezpečnější alternativa k původnímu životnímu cyklu, componentWillReceiveProps. Také přidáno je GetSnapshotBeforeUpdate, na podporu bezpečného čtení vlastností, jako je DOM, před provedením aktualizací.

React 16.3 také přidává „nebezpečnou“ předponu k některým z těchto životních cyklů, například k componentWillMount a componentWillReceiveUpdate. V těchto případech „nebezpečné“ neodkazuje na zabezpečení, ale na skutečnost, že kód využívající tyto životní cykly bude mít pravděpodobně chyby v budoucích verzích React.

S vydáním React 16.3 nemusí vývojáři dělat se staršími metodami nic. Toto vydání je určeno k tomu, aby vyzvalo správce projektů s otevřeným zdrojovým kódem, aby aktualizovali své knihovny před varováními o opuštění, což bude povoleno až v budoucím vydání v řádku 16.x.

Verze 16.3 přidává Přísný režim komponenta, která identifikuje komponenty s nebezpečnými životními cykly. Přísný režim, který běží pouze v režimu vývoje, také varuje před použitím staršího API rozhraní API a detekuje neočekávané vedlejší účinky. Aktivuje další kontroly pro potomky. Další funkce budou přidány později.

Kontextové rozhraní API podporuje kontrolu statického typu a hluboké aktualizace

Nové kontextové API podporuje kontrolu statického typu a hluboké aktualizace. Toto API je také efektivnější než předchozí experimentální verze API, uvedl Brian Vaughn, člen hlavního týmu React JS na Facebooku. Kontext umožňuje předávat data stromem komponent, aniž byste museli ručně předávat rekvizity, z nichž některé zahrnují předvolbu národního prostředí a téma uživatelského rozhraní. Staré rozhraní API bude i nadále fungovat pro verze React 16.x, což uživatelům poskytne čas na migraci.

Také nové v React 16.3:

  • Vylepšené API s názvem createrefAPI, pro správu odkazů, které poskytují způsob přístupu k uzlům DOM nebo k React elementům vyvinutým v renderovací metodě.
  • The forwardRef API, pomáhá s využitím komponent vyššího řádu, které podporují opětovné použití kódu.

Předchozí verze: Nové funkce v React 16.2

Vydání React 16.2 z listopadu 2017 přináší schopnost fragmentů vylepšit podporu pro zobrazení více dětí z metody vykreslení komponenty. Fragmenty, které se podobají prázdným značkám JSX, umožňují vývojářům seskupit seznam dětí bez přidání uzlů do modelu DOM.

Verze 16.2 můžete nainstalovat z registru NPM. Chcete-li nainstalovat pomocí správce balíčků příze, spusťte přidat přízi [email protected]^16.2.0 [email protected]^16.2.0. Chcete-li jej nainstalovat pomocí NPM, spusťte npm install --save [email protected]^16.2.0 [email protected]^16.2.0.

Předchozí verze: Nové funkce v React 16.0

V průběhu svého vývoje nazvaný „React Fiber“ je React 16.0 ze září 2017 přepsáním jádra React, které zlepšuje vnímanou odezvu na složité aplikace pomocí nového algoritmu sladění. Mezi klíčové vlastnosti React 16 patří:

  • Chyby, které obsahují trasování zásobníku komponent, aby se usnadnilo jejich ladění.
  • Vrácení řetězců / polí přímo z metod vykreslování komponent.
  • Nový rychlejší streamovací renderer na straně serveru.
  • Více nativních výkonů aplikací.
  • Posun od kontroverzní licence BSD + Patents k přijatelnější licenci MIT.

Přestože interní prvky Reactu byly v Reactu 16 zcela přepsány, veřejné API je „v podstatě nezměněno,“ uvedla Sophie Alpert, inženýrská manažerka Facebooku pro React. Záměrem bylo zachránit vývojáře od nutnosti přepsat existující komponenty vytvořené pomocí React.

Nový kód React 16 byl napsán společně se starým kódem v repozitáři GitHub, podle známé praxe na Facebooku. Přepínání mezi těmito dvěma bylo provedeno pomocí Boolean useFiber příznak funkce. Tento proces umožnil Facebooku začít budovat svou novou implementaci, aniž by to ovlivnilo stávající uživatele, a pokračovat v opravách chyb ve staré kódové základně.

Po několika měsících odstraňování chyb se Facebook rozhodl dodat jeden produkt, aby omezil možnou sadu chyb, místo aby udržoval dvě verze React aktuální.