Dodajanje informacij o prodajalcu v Redux
Že smo omenili, da produkte v aplikacijo dejansko dodajajo prodajalci. Ob dodajanju novega produkta izpišimo podatke o prodajalcu.
Odprimo našo aplikacijo s produkti in v njej datoteko productsSlice.js.
V prepare posredujmo še en parameter, poimenujmo ga sellerId in ga nato nastavimo za payload akcije.
Naš del kode za prepare bo zdaj takšen:
prepare(name, desc, price, amount, sellerId) {
return {
payload: {
id: nanoid(),
name,
desc,
price,
amount,
seller: sellerId,
},
}
},
Zdaj moramo narediti številne spremembe v datoteki z obrazcem za dodajanje produkta NewProductForm.jsx.
Najprej dodajmo še en lokalni state za id prodajalca:
const [sellerId, setSellerId] = useState('')
Nato po deklaraciji spremenljivke dispatch za useDispatch dodajmo kodo za pridobivanje slice prodajalcev iz state z uporabo hoka useSelector:
const sellers = useSelector((state) => state.sellers)
V obdelovalnike za vnosna polja dodajmo še enega:
const onSellerChanged = (e) => setSellerId(e.target.value)
Popravimo onSaveProductClick tako, da za akcijo productAdded dodamo še sellerId:
dispatch(productAdded(name, desc, price, amount, sellerId))
Odprite vašo aplikacijo s študenti.
Dodajte možnost vnosa informacij o učitelju, ki je dodal študente.
Za to, po preučitvi gradiva lekcije, naredite spremembe za funkcijo prepare v datoteki studentsSlice.js.
Naredite ustrezne spremembe v datoteki NewStudentForm.jsx