Dodawanie informacji o sprzedawcy w Redux

Rozmawialiśmy o tym, że nasze produkty faktycznie są dodawane do aplikacji przez sprzedawców. Dodajmy przy dodawaniu nowego produktu wypisywanie informacji o sprzedawcy.

Otwórzmy naszą aplikację z produktami, a w niej plik productsSlice.js. Dodajmy przekazywanie do prepare jeszcze jednego parametru, nazwijmy go sellerId i ustawmy go następnie dla payload akcji. Teraz nasz fragment kodu dla prepare będzie wyglądał tak:

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

Teraz musimy wprowadzić szereg zmian w pliku z formularzem dodawania produktu NewProductForm.jsx. Na początek dodajmy jeszcze jeden stan lokalny dla id sprzedawcy:

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

Następnie po deklaracji zmiennej dispatch dla useDispatch, dodajmy kod do pobrania slice'a sprzedawców ze stanu przy użyciu hooka useSelector:

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

Do handlerów pól wprowadzania dodajmy jeszcze jeden:

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

Poprawmy onSaveProductClick, dodając dla akcji productAdded także sellerId:

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

Otwórz twoją aplikację ze studentami. Dodaj możliwość wprowadzania informacji o wykładowcy, który dodał studentów. W tym celu, po zapoznaniu się z materiałem lekcji, wprowadź zmiany dla funkcji prepare w pliku studentsSlice.js.

Задание 2

Wprowadź odpowiednie zmiany w pliku NewStudentForm.jsx