Добавление формы в Redux

На прошлом уроке мы узнали, что для полей ввода формы можно применить стейты, которые будут работать только внутри одного компонента, и создали пустую форму.

Давайте внутри тегов form разместим верстку для каждого поля, в которое будет вноситься информация. Первый инпут у нас будет отвечать за название продукта и его верстка будет такой:

<form> <p> <label htmlFor="productName">Name:</label> <input id="productName" name="productName" value={name} onChange={onNameChanged} /> </p> </form>

Вторым у нас будет textarea для описания продукта:

<p> <label htmlFor="productDesc">Description:</label> <textarea id="productDesc" name="productDesc" value={desc} onChange={onDescChanged} /> </p>

Напишите сами код для двух оставшихся инпутов для цены и количества с айди productPrice и productAmount соответственно.

После всех четырех полей ввода перед закрывающим тегом form добавьте кнопочку для сохранения:

<button type="button">save</button>

Наш компонент с формой готов. Давайте отобразим его на главной страничке. Для этого откроем файл root.jsx, импортируем в него компонент:

import { NewProductForm } from '../parts/products/NewProductForm'

И вставим его между тегом hr и компонентом ProductsList вот так:

<hr></hr> <NewProductForm /> <ProductsList />

Запустим наше приложение и полюбуемся на форму и список продуктов. Внесем еще стили в 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; }

Откройте ваше приложение со студентами. Сделайте верстку для вашей формы, как показано в уроке.

Добавьте законченный компонент NewStudentForm на главную страничку перед StudentsList



Чат с GPT Компилятор