Komponenta » Historie » Revize 9
Revize 8 (Jiří Trefil, 2023-03-26 20:14) → Revize 9/15 (Jiří Trefil, 2023-03-26 20:21)
h1. Komponenta Jak již bylo řečeno, komponenty jsou základní stavební kámen React aplikací. Komponenty by měly dodržovat *single responsibility principle* - pokud je komponenta moc složitá a dělá moc věcí, je k zamyšlení, zda se nedá rozlámat do více nezávislých komponent. Definitivně je nutné se *vyvarovat* návrhu "božských komponent", které dělají všechno. Každá komponenta má svůj *lifecycle*. Je to podobné jako aktivitě v nativních android/ios aplikacích. Popis zde je pouze výtažek z oficiální dokumentace, pro více detailu ofiko dokumentace: (TODO viz -> reactjs). Existují tři hlavní fáze: * *Mounting* > Množina metod, která se volá, když je komponenta "mountována", tedy její obsah je vepsán do DOMu. Od Reactu 16+ a nástupu funkcionálního paradigmatu jsou tyto funkce de facto *nahrazeny hooky* (*useEffect*), který je volán ve stejných momentech jako původní metody nad objekty. S vyjímkou metody *render()*, kterou *musí* každá komponenta obsahovat a vrací samotný JSX kód. ahjky * *Updating* > Stav, kdy je komponenta aktualizována (překreslena). Komponenta je aktualizována, pokud dojde ke změně v jejím *state* (stavu) nebo v jejích vlastnostech (props). * *Unmouting*