Дадаванне інфармацыі аб прадаўцы ў 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