⊗jsrxPmRDASTP 28 of 57 menu

Добавяне на информация за продавача в Redux

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

Нека отворим нашето приложение с продукти, а в него файла productsSlice.js. Нека да предаваме в prepare още един параметър, ще го наречем sellerId и ще го установим натам за payload на екшъна. Сега нашият парче код за prepare ще бъде такъв:

prepare(name, desc, price, amount, sellerId) { return { payload: { id: nanoid(), name, desc, price, amount, seller: sellerId, }, } },

Сега трябва да направим редица промени във файла с формата за добавяне на продукт NewProductForm.jsx. За начало нека добавим още едно локално състояние за id на продавача:

const [sellerId, setSellerId] = useState('')

След това след декларацията на променливата dispatch за useDispatch, нека добавим код за получаване на слайса на продавачите от състоянието с помощта на хука useSelector:

const sellers = useSelector((state) => state.sellers)

В обработвачите за полетата за въвеждане нека добавим още един:

const onSellerChanged = (e) => setSellerId(e.target.value)

Нека поправим onSaveProductClick, като добавим за екшъна productAdded още и sellerId:

dispatch(productAdded(name, desc, price, amount, sellerId))

Отворете вашето приложение със студенти. Добавете възможност за въвеждане на информация за преподавателя, който е добавил студентите. За това, проучили материала от урока, направете промени за функцията prepare във файла studentsSlice.js.

Направете съответните промени във файла NewStudentForm.jsx

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне