Jaká je klíčová vlastnost renderování v Reactu?
sobes.tech AI
Odpověď od AI
Hlavní vlastností renderování v Reactu je použití Virtual DOM a algoritmu reconciliation pro efektivní aktualizaci uživatelského rozhraní.
Virtual DOM je lehká reprezentace skutečného DOM v paměti. React vytváří strom prvků Virtual DOM, který představuje aktuální stav uživatelského rozhraní.
Když se změní stav nebo props komponenty, React vytvoří nový strom Virtual DOM. Poté tento strom porovná s předchozím (proces nazývaný "diffing") pomocí algoritmu reconciliation.
Algoritmus reconciliation určuje minimální sadu změn potřebných k synchronizaci skutečného DOM s novým Virtual DOM. Místo kompletního překreslení DOM aktualizuje React pouze ty části, které se skutečně změnily.
Tento přístup výrazně zvyšuje výkon minimalizací přímých manipulací se zpomaleným skutečným DOM.
Příklad procesu:
- Počáteční renderování: React vytvoří Virtual DOM a postaví skutečné DOM.
- Změna stavu: Komponenta obdrží nové data nebo props.
- Vytvoření nového Virtual DOM: React vytvoří nový strom Virtual DOM.
- Diffing: Porovnání nového Virtual DOM s předchozím.
- Aplikace změn: React aktualizuje pouze změněné uzly ve skutečném DOM.
// Příklad komponenty se stavem
function Counter() {
const [count, setCount] = React.useState(0);
// Tato funkce způsobí rerender při změně stavu
function handleClick() {
setCount(count + 1);
}
return (
// Při kliknutí na tlačítko bude volána funkce handleClick
<button onClick={handleClick}>
Počet kliknutí: {count}
</button>
);
}
V tomto příkladu, při každém kliknutí na tlačítko, setCount aktualizuje stav. React vytvoří nový strom Virtual DOM s aktualizovanou hodnotou count. Algoritmus reconciliation zjistí, že změnil pouze textový uzel uvnitř tlačítka, a aktualizuje pouze tento uzel v reálném DOM.