Andmebaas serveri jaoks Reduxis
Eelmisel tunnil installisime msw, mis aitab meil matkida meie rakenduse tööd serveriga. Ja alustuseks sooviksime rakenduse käivitamisel laadida juba serveris olemasolevad andmed.
Avame oma tooterakenduse
ja selles faili server.js. Siin on meil juba
paar koodirida eelmisest
tunnist.
Ja esimene asi, mida endalt küsida: kus andmed tavaliselt hoitakse? Jah, muidugi andmebaasis, vastame me mõtlemata. Seega kasutame veel üht lahedat tööriista, mis võimaldab meil luua oma andmete mudeli, ja ka teha nii, nagu me töötaksime päris SQL-andmebaasiga.
Tööriist, mis meid selles aitab - on teek @mswjs/data. Selle installimiseks sisesta terminali järgmine käsk:
npm install @mswjs/data --save-dev
Nüüd impordime faili server.js
vajalikud asjad:
import { factory, oneOf, manyOf, primaryKey } from '@mswjs/data'
Ja loome oma improviseeritud andmebaasi.
Selleks kasutame funktsiooni
factory. Teeme seda allpool pärast
importridu ja enne workeri eksporti:
export const db = factory({})
Ja milliseid andmeid me selles hoiame?
Serverilt peaksime saama tooted,
müüjad ja kasutajate reaktsioonid. Seega
peame oma andmebaasis looma
kolm mudelit, mida factory
võtab vastu objektidena:
export const db = factory({
product: {},
seller: {},
reaction: {},
})
Nagu päris SQL-andmebaasis peab iga
meie mudel omama primary key-d.
Traditsiooniliselt määrame selliseks väljaks id,
mille genereerimiseks kasutame sama
nanoid teeki:
export const db = factory({
product: {
id: primaryKey(nanoid),
},
seller: {
id: primaryKey(nanoid),
},
reaction: {
id: primaryKey(nanoid),
},
})
Ärge unustage lisada nanoid importridadele faili alguses:
import { nanoid } from '@reduxjs/toolkit'
Järgmisel tunnil täiendame oma mudeleid vajalike väljadega.
Avage oma õpilaste rakendus. Pärast selle tunni materjali lugemist installige @mswjs/data oma rakenduse jaoks.
Seejärel looge andmebaasimudel db
funktsiooni factory abil. Andke sellele kolm
objekti (student, teacher, vote) teie
andmete jaoks, sarnaselt tunnis näidatule.