Добавление информации о продавце в Redux

Мы с вами говорили о том, что наши продукты фактически добавляются в приложение продавцами. Давайте при добавлении нового продукта будем выводить информацию о продавце.

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

products/productsSlice.jsprepare(name, desc, price, amount, sellerId) {
  return {
    payload: {
      id: nanoid(),
      name,
      desc,
      price,
      amount,
      seller: sellerId,
    },
  }
},

Теперь нам нужно внести ряд изменений в файл с формой для добавления продукта NewProductForm.jsx. Для начала добавим еще один локальный стейт для id продавца:

products/NewProductForm.jsxconst [sellerId, setSellerId] = useState('')

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

products/NewProductForm.jsxconst sellers = useSelector((state) => state.sellers)

В обработчики для полей ввода добавим еще один:

products/NewProductForm.jsxconst onSellerChanged = (e) => setSellerId(e.target.value)

Подправим onSaveProductClick, добавив для экшена productAdded еще и sellerId:

products/NewProductForm.jsxdispatch(productAdded(name, desc, price, amount, sellerId))
Задание 1

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

Задание 2

Внесите соответствующие изменения в файл NewStudentForm.jsx