Pridanie formulára do Reduxu

V predchádzajúcej lekcii sme sa dozvedeli, že pre vstupné polia formulára môžeme použiť stavy, ktoré budú fungovať len v rámci jednej komponenty, a vytvorili sme prázdny formulár.

Umiestnime medzi značky form HTML pre každé pole, do ktorého sa bude zadávať informácia. Prvý input bude zodpovedať za názov produktu a jeho HTML bude takéto:

products/NewProductForm.jsx<form>
  <p>
    <label htmlFor="productName">Názov:</label>
    <input
      id="productName"
      name="productName"
      value={name}
      onChange={onNameChanged}
    />
  </p>
</form>

Druhý bude textarea pre popis produktu:

products/NewProductForm.jsx<p>
  <label htmlFor="productDesc">Popis:</label>
  <textarea
    id="productDesc"
    name="productDesc"
    value={desc}
    onChange={onDescChanged}
  />
</p>

Napíšte sami kód pre dva zostávajúce inputy pre cenu a množstvo s ID productPrice a productAmount.

Po všetkých štyroch vstupných poliach pred uzatváracou značkou form pridajte tlačidlo pre uloženie:

products/NewProductForm.jsx<button type="button">uložiť</button>

Naša komponenta s formulárom je pripravená. Zobrazme ju na hlavnej stránke. Preto otvorme súbor root.jsx, importujme do neho komponentu:

app/root.jsximport { NewProductForm } from '../parts/products/NewProductForm'

A vložme ju medzi značku hr a komponentu ProductsList takto:

app/root.jsx<hr></hr>
<NewProductForm />
<ProductsList />

Spustíme našu aplikáciu a pozrieme sa na formulár a zoznam produktov. Pridajme ešte štýly do index.css:

index.css#main-page {
  max-width: 600px;
}

select,
textarea,
input,
button {
  font-size: 18px;
}

form {
  margin-bottom: 20px;
  border-bottom: 2px solid lightgray;
  padding-bottom: 10px;
}

form p {
  margin: 5px;
}
Задание 1

Otvorte vašu aplikáciu so študentmi. Vytvorte HTML pre váš formulár, ako je ukázané v lekcii.

Задание 2

Pridajte hotovú komponentu NewStudentForm na hlavnú stránku pred StudentsList