⊗jsrxPmWFLS 15 of 57 menu

Форми и локални състояния в Redux

В предишните уроци се научихме да извличаме данни от store и да ги извеждаме в React компонент. В този урок ще започнем да добавяме нови данни. Ще правим това с помощта на форма, при попълването на която, продавачът ще може да добави нов продукт.

Да започнем с това, че не винаги има смисъл да използваме глобалното състояние на Redux. Има случаи, когато за нашите нужди можем да създаваме локални състояния. Локални състояния ще наричаме състояния, които се използват вътре в определен компонент за технически нужди. Например, за да скрием или покажем нещо по бутон.

В нашия случай потребителят ще въвежда данни във формата и естествено ще ни трябват за това състояния. Бихме могли да използваме глобалното Redux състояние, но в това няма смисъл, тъй като нашите състояния ще работят само на едно място в приложението за формата за добавяне на продукт. Основното правило, на което трябва да се следва при това - не може локалните състояния да работят извън компонента, в който са създадени, и в никакъв случай да не засягат store. Такава практика често се използва при създаване на форми.

Нека да отворим папката products на нашето приложение с продукти, да създадем в нея файл NewProductForm.jsx и да импортираме в него хука useState:

import { useState } from 'react'

Сега нека създадем самия компонент с формата и да напишем в него обикновени състояния, както правихме това преди в React. Нужни ни са състояния за работа с името, описанието, цената и количеството на продукта:

export const NewProductForm = () => { const [name, setName] = useState('') const [desc, setDesc] = useState('') const [price, setPrice] = useState(0) const [amount, setAmount] = useState(0) }

След това ще добавим стандартна обработка за всяко поле при въвеждане на данни от потребителя:

const onNameChanged = (e) => setName(e.target.value) const onDescChanged = (e) => setDesc(e.target.value) const onPriceChanged = (e) => setPrice(e.target.value) const onAmountChanged = (e) => setAmount(e.target.value)

И след това ще върнем в компонента верстка с заглавие и празна форма:

return ( <div> <h2>Add a New Product</h2> <form> </form> </div> )

Отворете вашето приложение със студенти. Създайте файл NewStudentForm.jsx в папката students. Създайте в компонента NewStudentForm локални състояния за необходимите ви полета, напишете за всяко поле обработка, както е показано в урока.

Върнете в компонента NewStudentForm верстка, съдържаща заглавие и празна форма.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне