Shrnutí
V této lekci jste se naučili, že:
- Props vedou dolů, od rodiče k jeho dětem. Komponenta nemůže číst stav jiné komponenty.
- Když víc komponent potřebuje stejný stav, přesuňte ho výš, do jejich nejbližšího společného rodiče. Hodnotu předejte dolů v props, spolu s funkcí, která ji mění, s názvem začínajícím
on:onPrepnoutOblibenou,onZmenitHledani. - Dítě funkci zavolá, rodič změní svůj stav a vykreslí se znovu a každé dítě dostane novou hodnotu.
- I funkce, která nastavuje stav, je funkce, takže ji můžete předat dolů, tak jak je:
onZmenitHledani={setHledani}. - Co můžete spočítat, neukládejte. Počty (
oblibene.length), součty a vyfiltrované seznamy se spočítají při vykreslení ze stavu a props. Druhá stavová proměnná, která se musí shodovat s první, se s ní dřív nebo později rozejde. useState(x)použijexjen při prvním vykreslení, takže seznam ve stavu, vytvořený z jiného stavu, zůstane takový, jaký byl na začátku.- Jeden zdroj pravdy: každý údaj je uložený na jednom místě a všechno ostatní se z něj čte nebo počítá. Na data, která musí projít mnoha úrovněmi dolů, má React kontext.
V další lekci, Efekty, budou vaše komponenty dělat věci po vykreslení: načtou program ze serveru, spustí časovač a zapamatují si oblíbené kapely v localStorage.
Nejdřív si ale vše procvičte na programu podle dnů. ZalozkyDnu přepínají mezi pátkem a sobotou, ale den si nechávají pro sebe, takže Program ukazuje pořád všechny kapely.
Jak psát:
"Shift + ů
{Alt Gr + b
}Alt Gr + n
[Alt Gr + f
]Alt Gr + g
<Alt Gr + ,
>Alt Gr + .
/Shift + ú
|Alt Gr + w
&Alt Gr + c
`Alt Gr + ý
$Alt Gr + ů
Pokyny
Přesuňte den výš do App a předejte ho komponentě ZalozkyDnu spolu s funkcí onVybratDen. Komponentě Program dejte jen kapely vybraného dne: v pátek Noční vlaky a Měsíční kočky.
Nad programem ukažte počet kapel vybraného dne v odstavci s třídou pocet: Počet kapel: 2.