⊗jsrxPmRDASTP 28 of 57 menu

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:

prepare(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:

const [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:

const sellers = useSelector((state) => state.sellers)

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

const onSellerChanged = (e) => setSellerId(e.target.value)

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

dispatch(productAdded(name, desc, price, amount, sellerId))

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.

Wprowadź odpowiednie zmiany w pliku NewStudentForm.jsx

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć