React je jedným z najpopulárnejších JavaScript frameworkov, ktorý výrazne zjednodušuje vytváranie moderných webových aplikácií. S rastom aplikácie je správa stavu kľúčová. Na tento účel React poskytuje niekoľko nástrojov, z ktorých najznámejšie sú useState
a useEffect
. V tomto článku sa pozrieme na to, ako správne používať tieto funkcie, ako aj na vytváranie vlastných Hookov, ktoré zjednodušia vašu aplikáciu.
useState
– vytváranie reaktívnych premennýchuseState
je základným React Hookom, ktorý umožňuje uchovávať a meniť stav v rámci funkčných komponentov. Tento Hook vracia pole, ktoré obsahuje aktuálny stav a funkciu na jeho zmenu.
const [counter, setCounter] = useState(0);
V tomto prípade counter
je aktuálna hodnota stavu a setCounter
je funkcia na jeho aktualizáciu.
useEffect
na sledovanie zmien a vykonávanie vedľajších efektovuseEffect umožňuje spúšťať kód, ktorý závisí od zmeny stavu alebo vlastností (props). Môžete ho použiť na vykonávanie vedľajších efektov, ako je napríklad načítanie dát z API, manipulácia s DOM alebo nastavenie časovača.
useEffect(() => {
document.title = `Klikli ste ${counter} krát`;
}, [counter]);
Tento príklad aktualizuje titulok stránky zakaždým, keď sa hodnota counter
zmení.
V prípade, že máte viacero komponentov s rovnakou logikou, môžete vytvoriť vlastný Hook. Tento Hook vám umožní zdieľať logiku medzi rôznymi komponentmi, čím sa zjednoduší kód a zlepší jeho čitateľnosť.
function useLocalStorage(key, initialValue) {
const [storedValue, setStoredValue] = useState(() => {
try {
const item = window.localStorage.getItem(key);
return item ? JSON.parse(item) : initialValue;
} catch (error) {
return initialValue;
}
});
const setValue = value => {
try {
setStoredValue(value);
window.localStorage.setItem(key, JSON.stringify(value));
} catch (error) {
console.error(error);
}
};
return [storedValue, setValue];
}
Pri písaní React komponentov sa často stáva, že kód je príliš dlhý a ťažko udržiavateľný. Jedným zo spôsobov, ako sa tomu vyhnúť, je rozdelenie komponentov na menšie časti. React umožňuje jednoducho rozdeliť komponenty do samostatných súborov, čo uľahčuje správu kódu.
Pri používaní Hookov môže dôjsť k niekoľkým bežným chybám. Napríklad nesprávne použitie useEffect
môže spôsobiť nekonečné slučky, ak sa nešpecifikuje správny zoznam závislostí. Je dôležité venovať pozornosť tomu, ako a kedy sa aktualizujú stavy a ako sa používa useEffect
.
Správa stavu v Reacte je kľúčová pre vytváranie dynamických a interaktívnych aplikácií. Pomocou useState
, useEffect
a vlastných Hookov môžete efektívne spravovať stav aplikácie a zjednodušiť svoju prácu. Ak chcete získať viac praktických zručností, odporúčame vám náš kurz REACT – Praktický úvod do Reactu bez predchádzajúcich znalostí, kde sa naučíte, ako aplikovať tieto techniky v praxi a vytvárať interaktívne aplikácie v Reacte.
Viac informacií preberáme na kurze: