Добавление информации о продавце в 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



Чат с GPT Компилятор