Shrnutí
V této lekci jste se naučili, že:
- Props předávají data od rodiče komponentě. Píšou se jako atributy,
<KartaKapely nazev="Noční vlaky" podium="Hlavní pódium" />, a React je komponentě předá jako jeden objekt,props. - Komponenty své props destrukturují v parametrech:
function KartaKapely({ nazev, podium }). Názvy se musí přesně shodovat. Prop, kterou nikdo nepředal, jeundefineda React za ni neukáže nic. - Text se píše do uvozovek, každá jiná hodnota do složených závorek:
lajky={128},hlavniHvezda={true}, nebo jenhlavniHvezdaprotrue. Před svýmreturnmůže komponenta spustit jakýkoli JavaScript, třebaif, který vybere třídu. - Prop může být objekt,
kapela={kapely[0]}, který se čte jakokapela.nazev, nebo pole,dny={["pátek", "sobota"]}. - Výchozí hodnota zastoupí chybějící prop:
{ podium = "Bude upřesněno" }. Použije se, jen když je propundefined. - Co je mezi tagy komponenty, je prop
children:<Karta>…</Karta>může obalit jakýkoli obsah. - Props jsou jen ke čtení. Rozhoduje rodič a komponenta své props nikdy nemění; hodnotu z nich odvozenou si uloží do nové proměnné.
V další lekci, Seznamy a podmínky, uděláte pomocí map kartu pro každou kapelu v poli, místo abyste karty psali jednu po druhé, a části karty ukážete, jen když platí nějaká podmínka.
Nejdřív si ale vše procvičte na upozorněních pro návštěvníky festivalu. Upozorneni.jsx je prázdný a komponentu napíšete sami.
Jak psát:
Pokyny
V Upozorneni.jsx napište komponentu Upozorneni s výchozím exportem, která ukáže své children v odstavci <p className="upozorneni">. V App.jsx ukažte pod nadpisem dvě upozornění: Brány se otevírají ve 14:00. a Vstupenku stačí mít v telefonu.
Dejte komponentě Upozorneni prop typ s výchozí hodnotou "info" a odstavci dejte třídu upozorneni a typ: className={`upozorneni ${typ}`}. Obě upozornění zmodrají.
Pak přidejte třetí upozornění s typ="varovani": Skleněné lahve na festival nesmí. Bude červené.