Добавление информации о продавце в 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(title, desc, price, amount, sellerId))
Откройте ваше приложение со студентами.
Добавьте возможность внесения информации
о преподавателе, который добавил студентов.
Для этого, изучив материал урока, внесите
изменения для функции prepare
в файле
studentsSlice.js
.
Внесите соответствующие изменения в
файл NewStudentForm.jsx