Přemýšlíte o tom, že byste zkusili kódování s Reactem? Zde jsou klíčové nové funkce, které můžete vyzkoušet v React 18.

React je velmi populární open-source JavaScript knihovna vytvořená Facebookem v roce 2013. Díky jeho flexibilitě mnoho vývojářů využívá některé z jeho funkcí při vytváření rychlých, efektivních a opakovaně použitelných komponent uživatelského rozhraní (UI).

V březnu 2022 tým spustil nejnovější a očekávanou verzi knihovny React, React 18, která obsahuje nové funkce, které se zaměřují na zlepšení výkonu aplikace.

Nové funkce v React 18

React 18 obsahuje některé užitečné nové funkce přidané do open-source JavaScriptová knihovna. Mnohé z těchto změn nebyly v předchozí verzi, zatímco jiné funkce byly vylepšeny. Některé z těchto funkcí zahrnují; nové kořenové API, automatické dávkování, Transition API, Suspense API a vydání nových háčků.

Nové kořenové API

Kořenové API v Reactu sleduje, jak se komponenta nejvyšší úrovně vykresluje ve stromu. V předchozích verzích Reactu, poskytnout byla použita k provedení vykreslování, které se nyní nazývá starší kořenové API.

instagram viewer

React 18 však přichází s novým kořenovým API, které vytváří root pomocí createRoot a poté vykreslí komponentu React do vytvořeného kořenového adresáře pomocí poskytnout metoda.

Toto nové kořenové rozhraní API vám umožní přístup k funkcím v této nedávné verzi, jako je funkce přechodového rozhraní API, o které se bude mluvit později. Zatímco starý způsob bude v React 18 stále fungovat, v budoucnu může být vyřazen.

Níže uvedený úryvek ukazuje, jak je strukturováno kořenové rozhraní API ve starších i nových způsobech.

Legacy Root API

import ReactDOM z'react-dom';
import Aplikace z'./Aplikace';

ReactDOM.render(<Aplikace />, dokument.getElementById('aplikace'))

Nové kořenové API

import ReactDOM z'react-dom/client';
import Aplikace z'./Aplikace';

konst root = ReactDOM.createRoot(dokument.getElementById('aplikace'));
root.render(<Aplikace />)

Automatické dávkování

Dávkování v Reactu zahrnuje více aktualizací stavu v jediném opětovném vykreslení při každé události prohlížeče, například a klikněte na událost. Žádné změny stavu, ke kterým došlo mimo událost, jako je příslib nebo zpětné volání, nebudou dávkovány.

S React 18 se dávkové aktualizace stavu provádějí automaticky bez ohledu na to, kde k těmto aktualizacím dochází. Tato funkce poskytuje hned po vybalení vylepšení výkonu a doby vykreslování. Pokud však máte stav komponenty, který nechcete dávkovat, můžete se z něj odhlásit pomocí flushSync metoda. Níže je ukázkový úryvek, jak to lze provést;

import { flushSync } z'react-dom';
funkcekliknout na kliku() {

 flushSync(() => {
 setCount(počet => počítat + 1);
]});

 flushSync(() => {
 setStore(obchod => !obchod);
});
}

Přechodové API

V Reactu lze aktualizace provedené v uživatelském rozhraní kategorizovat jako naléhavé a přechodové aktualizace také nazývané jako neurgentní. Příkladem urgentní aktualizace může být případ zadání textu do pole, zatímco přechodovou aktualizací může být funkce filtrování vyhledávání.

Pokud by se takové aktualizace vyskytly současně, mohlo by to být označeno jako náročná operace a mohlo by to vést k zamrznutí vaší aplikace. Chcete-li tento problém vyřešit, je to místo, kde přechodové API nazývá startTransition přijde hrát. Tato nová funkce říká Reactu, jaké aktualizace by měly být označeny jako „přechody“, což zase zlepšuje interakce uživatelů. Zde je ukázka kódu, jak to funguje;

import { startTransition } z"reagovat";

startTransition(() => {
setSearch (vstup);
});

Napětí

Když je aplikace vykreslena na serveru, do prohlížeče se vrátí statický soubor HTML, který uživateli umožní vidět, jak aplikace vypadá, zatímco se načítá JavaScript. Když je soubor načten, HTML se stane dynamickým s tím, co je známé jako hydratace. Nedostatkem je, že pokud toto vše není na místě, vaše aplikace by se nestala interaktivní.

K vyřešení tohoto problému poskytuje React 18 dvě nové funkce vykreslování na straně serveru (SSR) pomocí Napětí komponent;

  • Streamování HTML umožňuje posílat části komponenty, jakmile se vykreslí.
  • Selektivní hydratace upřednostňuje interaktivitu komponent vybraných uživatelem.

Nové háky

Jedním velkým zlomem pro React bylo představení háčky v Reactu verze 16, která umožňuje funkčním komponentám přístup ke stavům a dalším funkcím Reactu bez psaní tříd. React 18 se dodává s pěti novými háky, které mají vývojářům zlepšit zážitek;

  • useId: Tento hák nám umožňuje vytvořit jedinečný identifikátor (ID) v naší aplikaci na serveru i na klientovi.
  • useTransition: Používá se vedle startTransition vytvořit novou aktualizaci stavu, kterou lze označit jako neurgentní.
  • useDefferedValue: Umožňuje odložit aktualizace, které jsou méně naléhavé.
  • useSyncExternalStore: Tento háček je užitečný při implementaci předplatného na externí zdroje dat.
  • useInsertionEffect: Tento háček je omezen na autory knihoven CSS-in-JS pro vkládání stylů do DOM.

Jak aktualizovat na React 18

K provedení aktualizace lze použít správce balíčků npm nebo příze spuštěním následujícího příkazu v terminálu.

npm Nainstalujte reagovat reagovat-dom

nebo

příze přidat reagovat reagovat-dom 

Poté budete muset provést změnu v index.js soubor v kořenovém adresáři složky projektu ze staršího rozhraní API do nového kořenového rozhraní API, jak bylo uvedeno výše.

Jak založit nový projekt React 18

Pro nastavení nového projektu React 18 se nainstaluje balíček create-react-app s npm nebo yarn v terminálu;

npx vytvořit-react-app my-react-app

nebo

přidat přízi vytvořit-react-app my-react-app

Zlepšete výkon své aplikace s React 18

Nyní víte o některých nových funkcích v React 18, jako je nové kořenové API, Suspense, Transition nebo Automatic Batching, a jak upgradovat na tuto novou verzi a nastavit ji od začátku.

Tyto nedávné změny Reactu jsou pro vás připraveny hned teď.