className a htmlFor

V HTML dáte prvku třídu atributem class. V JSX je to className:

<p className="hlavni-hvezda">Noční vlaky, 20:00</p>

Proč jiný název? JSX se mění na JavaScript a atributy na objekt: { className: "hlavni-hvezda", children: "Noční vlaky, 20:00" }. React používá názvy, které pro prvky má JavaScript, a v JavaScriptu je třída prvku prvek.className, protože class je slovo, které si JavaScript nechává pro sebe. Na stránce je z toho obyčejný atribut class a CSS v style.css funguje, jak ho znáte.

Totéž platí pro atribut for u prvku label, podle kterého se pozná, ke kterému textovému poli popisek patří. for je v JavaScriptu cyklus, a tak je v JSX htmlFor:

<label htmlFor="email">E-mail</label>
<input id="email" />

Když přesto napíšete class nebo for, stránka obvykle vypadá dobře, protože je React prohlížeči předá. Konzole ale ukáže varování:

Invalid DOM property `class`. Did you mean `className`?

Berte ho jako chybu a opravte ji: v JSX se píše className a htmlFor.

Pokyny

Hlavní hvězda pátku, Noční vlaky, má vyniknout. Dejte jejímu odstavci třídu hlavni-hvezda, která je v style.css.

Kliknutí na popisek má dát kurzor do jeho textového pole. Propojte popisek E-mail s textovým polem: dejte textovému poli id email a popisku htmlFor="email".

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

3/9

Další