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, je undefined a 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 jen hlavniHvezda pro true. Před svým return může komponenta spustit jakýkoli JavaScript, třeba if, který vybere třídu.
  • Prop může být objekt, kapela={kapely[0]}, který se čte jako kapela.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 prop undefined.
  • 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.

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é.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

Zpět

9/9

Další