АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗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

byenru